fetch API 對於發出網路請求非常方便,但它沒有內建的超時功能。這意味著如果網路速度慢或伺服器沒有回應,您的應用程式可能會無限期掛起。
幸運的是,JavaScript 是一種多功能語言,以事件驅動程式設計為中心,提供了一組分組在 Promise 物件中的實用函數。使用 Promise.race 方法,我們可以為 fetch 呼叫建立超時機制。這樣,即使網路情況未按計劃進行,我們也可以保持應用程式的回應能力。
所以,我將引導您了解如何使用 Promise.race 實現此超時。我們將從一個簡單的獲取範例開始,然後透過新增逾時來增強它。我還將分享一個處理 CSRF 令牌的真實場景,向您展示此方法如何在安全環境中運作。
假設我們有這個:
如果我們想添加超時機制來獲取,我們可以創建一個帶有觸發拒絕的超時的 Promise。 Promise 使用 Promise.race 來執行多個 Promise,當一個 Promise 完成拒絕或解決時,停止其餘所有操作。
這是一個使用 CSRF 代幣的真實範例
以上是如何使用 Promise.race 新增逾時以取得調用的詳細內容。更多資訊請關注PHP中文網其他相關文章!