Использование await вне асинхронной функции
Я пытался связать две асинхронные функции вместе, потому что первая имела условный возвращаемый параметр, который заставлял либо запускаться, либо выходить из модуля. Тем не менее, я нашел странное поведение, которое я не могу найти в спецификации.
async function isInLobby() {
//promise.all([chained methods here])
let exit = false;
if (someCondition) exit = true;
}
Это убогий фрагмент моего кода (вы можете увидеть полный объемВот), который просто проверяет, находится ли игрок в лобби, но это не имеет значения.
Далее у нас есть эта асинхронная функция.
async function countPlayer() {
const keyLength = await scardAsync(game);
return keyLength;
}
Эта функция не должна запускаться, еслиexit === true
.
Я пытался сделать
const inLobby = await isInLobby();
Я надеялся, что это будет ожидать результатов, поэтому я могу использоватьinLobby
условно запуститьcountPlayer
Однако я получил ошибку типа без конкретных деталей.
Почему ты не можешьawait
async
функция выходит за рамки функции? Я знаю, что это обещание сахара, поэтому он должен быть прикован кthen
но почему это вcountPlayer
Я могу ждать другого обещания, но снаружи я не могуawait
isInLobby
?