Uso de esperar fuera de una función asíncrona
Intenté encadenar dos funciones asíncronas, porque la primera tenía un parámetro de retorno condicional que hacía que la segunda se ejecutara o saliera del módulo. Sin embargo, he encontrado un comportamiento extraño que no puedo encontrar en las especificaciones.
async function isInLobby() {
//promise.all([chained methods here])
let exit = false;
if (someCondition) exit = true;
}
Este es un fragmento bastardo de mi código (puede ver el alcance completoaquí), eso simplemente verifica si un jugador ya está en un lobby, pero eso es irrelevante.
A continuación tenemos esta función asíncrona.
async function countPlayer() {
const keyLength = await scardAsync(game);
return keyLength;
}
Esta función no necesita ejecutarse siexit === true
.
Intenté hacer
const inLobby = await isInLobby();
Esto esperaba que esperara resultados, para poder usarinLobby
correr condicionalmentecountPlayer
, sin embargo, recibí un error tipográfico sin detalles específicos.
Porque no puedesawait
unasync
función fuera del alcance de la función? Sé que es una promesa de azúcar, por lo que debe encadenarse athen
pero por qué es eso encountPlayer
Puedo esperar otra promesa, pero afuera no puedoawait
isInLobby
?