如何在JavaScript中使用top-level await

257 阅读1分钟

了解如何使用目前在v8中提供的这项新功能

通常只能在异步函数内部使用await。所以常见的是声明一个立即调用的异步函数表达式来包装它。

(async () => {
  await fetch(/* ... */)
})()

或者也可以声明一个函数,然后调用它。

const doSomething = async () => {
  await fetch(/* ... */)
}

doSomething()

顶层的await将使我们能够简单地运行

而不需要所有这些模板代码。

有一点需要注意的是:这只在ES模块中有效。

对于一个单一的JavaScript文件,如果没有捆绑器,你可以用.mjs 扩展来保存,你可以使用顶级的await。