Usando aguardar fora de uma função assíncrona

Eu estava tentando encadear duas funções assíncronas juntas, porque a primeira tinha um parâmetro de retorno condicional que fazia com que a segunda fosse executada ou saísse do módulo. No entanto, encontrei um comportamento estranho que não consigo encontrar nas especificações.

async function isInLobby() {
    //promise.all([chained methods here])
    let exit = false;
    if (someCondition) exit = true;
}

Este é um trecho bastardo do meu código (você pode ver o escopo completoaqui), que simplesmente verifica se um jogador já está em um lobby, mas isso é irrelevante.

Em seguida, temos esta função assíncrona.

async function countPlayer() {
    const keyLength = await scardAsync(game);
    return keyLength;
}

Esta função não precisa ser executada seexit === true.

Eu tentei fazer

const inLobby = await isInLobby();

Eu esperava que isso esperasse resultados, para que eu pudesse usarinLobby executar condicionalmentecountPlayer, no entanto, recebi um erro de digitação sem detalhes específicos.

Por que você não podeawait aasync função fora do escopo da função? Eu sei que é uma promessa de açúcar, por isso deve estar acorrentada athen mas porque é que emcountPlayer Posso esperar outra promessa, mas lá fora, não possoawait isInLobby?

questionAnswers(3)

yourAnswerToTheQuestion