如何在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教程: