首頁 >web前端 >js教程 >為什麼 JavaScript 中的「await」在非同步函數之外會失敗?

為什麼 JavaScript 中的「await」在非同步函數之外會失敗?

Susan Sarandon
Susan Sarandon原創
2024-12-09 02:10:11457瀏覽

Why Does

錯誤:「await 僅在非同步函數中有效」

提供的JavaScript 程式碼在嘗試使用「await」時遇到錯誤非異步函數中的關鍵字。此錯誤特別指出在“start”函數中使用“await”。

說明:

「await」關鍵字只能在正文中使用非同步函數,由「async」關鍵字表示。在提供的程式碼中,「myfunction」被定義為非同步函數,允許在其主體內使用「await」。但是,“start”函數被定義為沒有“async”關鍵字的常規函數。

解決方案:

要解決此問題,「 start」函數需要轉換為非同步函數。這可以透過在函數定義前加上「async」關鍵字來實現,如下所示:

async function start(a, b) {
  ....
  const result = await helper.myfunction('test', 'test');
}

現在,「start」函數可以使用「await」來等待「myfunction」完成" 呼叫並繼續執行。

以上是為什麼 JavaScript 中的「await」在非同步函數之外會失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn