@aleko2104

Почему последующий код выполняется в тоже время как и вызванная функция?

Функция loadingScreen и последующий код выполняются в тоже самое время, а должный по очереди. Я только недавно начал js и вообще программирование и очень тяжело разобраться с этим. Я думаю, что это происходит из-за того что функция loadingScreen() async, но я её не могу сделать её не async, так как иначе функция sleep() не будет работать, а это единственный способ который останавливает скрипт полностью. Так вот как сделать так что бы код работал поочерёдно. Спасибо.

function sleep(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
}

async function loadingScreen() {

    //Javascript code

    await sleep(1000);

}

function game() {

    loadingScreen();

    //код который должен выполняться только после окончания loadingScreen(), но выполняется в тоже время

}
  • Вопрос задан
  • 118 просмотров
Решения вопроса 1
devellopah
@devellopah
сама функция loadingScreen() неявно возвращает промис, надо дождаться его выполнения

async function game() {
  await loadingScreen()
  console.log('screen is loaded!')
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы