在异步函数之外使用 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