如何在ES模块中使用顶级等待

了解如何使用v8中当前可用的这项新功能

v8最近推出的顶级await用于ES模块。这是ECMAScript的新提议标准,其中包含reached stage 3

注意:要在生产中的Node.js和Chrome中使用此功能需要一些时间,但是值得一看

现在我们可以使用await仅在异步函数内部。因此,通常需要声明立即调用的异步函数表达式来包装它:

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

或也声明一个函数然后调用它:

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

doSomething()

顶级等待将使我们能够简单地运行

await fetch(/* ... */)

没有所有这些样板代码。

请注意:这仅适用在ES模块中。您不能在外部使用此语法ES模块

普通脚本和CommonJS模块将继续使用立即调用的函数表达式或像往常一样创建临时功能。

免费下载我的JavaScript初学者手册


更多js教程: