首頁 > web前端 > js教程 > 如何使用 Promise.race 新增逾時以取得調用

如何使用 Promise.race 新增逾時以取得調用

Mary-Kate Olsen
發布: 2024-12-01 18:18:11
原創
277 人瀏覽過

How to use Promise.race to add timeout to fetch calls

fetch API 對於發出網路請求非常方便,但它沒有內建的超時功能。這意味著如果網路速度慢或伺服器沒有回應,您的應用程式可能會無限期掛起。

幸運的是,JavaScript 是一種多功能語言,以事件驅動程式設計為中心,提供了一組分組在 Promise 物件中的實用函數。使用 Promise.race 方法,我們可以為 fetch 呼叫建立超時機制。這樣,即使網路情況未按計劃進行,我們也可以保持應用程式的回應能力。

所以,我將引導您了解如何使用 Promise.race 實現此超時。我們將從一個簡單的獲取範例開始,然後透過新增逾時來增強它。我還將分享一個處理 CSRF 令牌的真實場景,向您展示此方法如何在安全環境中運作。

假設我們有這個:

如果我們想添加超時機制來獲取,我們可以創建一個帶有觸發拒絕的超時的 Promise。 Promise 使用 Promise.race 來執行多個 Promise,當一個 Promise 完成拒絕或解決時,停止其餘所有操作。

這是一個使用 CSRF 代幣的真實範例

以上是如何使用 Promise.race 新增逾時以取得調用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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