nmx*_*mxl 6 javascript node.js ecmascript-6 es6-promise
我正在尝试在nodejs REPL的全局范围内执行类似的操作。根据我的理解,以下两个陈述均有效。查看文件
let x = await Promise.resolve(2);
let y = await 2;
Run Code Online (Sandbox Code Playgroud)
但是,这两个语句都引发错误。
有人可以解释为什么吗?我的节点版本是v8.9.4
await只能在标记为的函数中使用async,因此有两种方法可以实现。
第一种方法是创建一个如下所示的自调用函数:
(async function() {
let x = await Promise.resolve(2)
let y = await 2
console.log(x, y)
})()Run Code Online (Sandbox Code Playgroud)
或第二种方法是使用 .then()
Promise.resolve(2).then(async data => {
let x = data
let y = await 2
console.log(x, y)
})Run Code Online (Sandbox Code Playgroud)
该提案目前处于 TC39 流程的第 3 阶段。关联
您现在可以在 Google Chrome 和 Mozilla Firefox 中使用此功能。您可以在控制台中使用没有 async 的顶级 await。
https://twitter.com/addyosmani/status/1080365576218759168
| 归档时间: |
|
| 查看次数: |
2797 次 |
| 最近记录: |