在没有async关键字的情况下在全局范围内使用await

我正在尝试在nodejs REPL的

执行类似的操作。根据我的理解,以下两个陈述均有效。查看文件

let x = await Promise.resolve(2);

let y = await 2;

但是,这两个语句都引发错误。

有人可以解释为什么吗?我的节点版本是v8.9.4

回答:

await只能在标记为的函数中使用async,因此有两种方法可以实现。

有一个建议书可能最终允许使用顶级等待呼叫。

第一种方法是创建一个如下所示的自调用函数:

(async function() {

let x = await Promise.resolve(2)

let y = await 2

console.log(x, y)

})()

或第二种方法是使用 .then()

Promise.resolve(2).then(async data => {

let x = data

let y = await 2

console.log(x, y)

})

以上是 在没有async关键字的情况下在全局范围内使用await 的全部内容, 来源链接: utcz.com/qa/425564.html

回到顶部