首頁 > web前端 > js教程 > 主體

如何在 JavaScript 中並發執行非同步函數?

Mary-Kate Olsen
發布: 2024-11-20 04:33:01
原創
774 人瀏覽過

How Can I Execute Async Functions Concurrently in JavaScript?

並發執行非同步函數

在ES7/ES2016中,使用多個await語句不會並行執行函數。相反,它們是按順序執行的,就像用 Promise 連結 .then() 一樣。

範例:

await someCall();
await anotherCall();
登入後複製

在此範例中,anotherCall() 只會是someCall() 完成後呼叫。

並行化非同步函數呼叫

要並行執行非同步函數,有以下幾種選擇:

使用Promise.all()

Node.js 中最簡單的方法是使用Promise.all()包裝要同時執行的非同步函數:

await Promise.all([someCall(), anotherCall()]);
登入後複製

這將創建一個代表所有輸入承諾完成的承諾。

儲存結果

如果需要儲存結果,可以在await語句中使用解構:

let [someResult, anotherResult] = await Promise.all([someCall(), anotherCall()]);
登入後複製

錯誤處理注意事項

Promise.all 很快就會失敗。這意味著如果任何輸入承諾被拒絕,整個操作將被拒絕並出現該錯誤。

以上是如何在 JavaScript 中並發執行非同步函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板