我正在阅读一个包含以下示例代码的博客,
async function fAsync() {
// actual return value is Promise.resolve(5)
return 5;
}
// can't call "await fAsync()". Need to use then/catch
fAsync().then(r => console.log(`result is ${r}`));
Run Code Online (Sandbox Code Playgroud)
在博客中提到,
如果我们从普通函数或全局范围调用异步函数,我们将无法使用 await 并求助于 vanilla promises:
我的困惑是为什么我们不能在那里使用等待?博客文章是https://nikgrozev.com/2017/10/01/async-await/
“顶级等待”目前处于 TC39 的 ECMAScript 标准的第 2 阶段(草案)
https://github.com/tc39/proposal-top-level-await
它已经在第 2 阶段进行了 3 年,所以,我不知道它是否会进入第 3 阶段(候选人)更不用说第 4 阶段(已完成)
原答案是在 2018 年 11 月。 2019 年 6 月top level await 毕业到 stage 3 (candidate)。第 4 阶段很可能会出现,但很难说何时。
旁注:如果你想更深入地研究,这个要点和它的一些评论是关于这个主题的信息。
| 归档时间: |
|
| 查看次数: |
124 次 |
| 最近记录: |