簡介
當非同步操作失敗時,重試可以是處理瞬態錯誤的有效策略。本文介紹了重試基於 Promise 的操作的各種模式,重點在於三種常見場景。
模式#1:重試直到 Promise 解決
此模式不斷重試 Promise直至成功解決。它指定重試之間的延遲和最大嘗試次數。
模式#2:重試直到滿足條件
此模式重試直到滿足條件關於承諾的結果。它指定重試之間的延遲和最大嘗試次數。
模式#3:帶條件的無限重試
此模式提供了一種節省記憶體的方法重試無限次。它僅指定重試之間的延遲。
使用.catch() 鏈的替代方法
與上面的模式不同,此方法建立一個.catch() 鏈,而不是.then() 鏈。它限制了嘗試次數,適合低最大值場景,以避免過多的記憶體消耗。
重試直到解決,有延遲
重試直到條件滿足,無延遲
重試直到條件滿足,無延遲再試>
重試直到條件滿足,有延遲
結論
這些模式提供了多種方法來實現非同步操作的重試邏輯。使用 .catch() 或 .then() 鏈取決於需求,例如記憶體使用情況和最大嘗試次數。以上是如何實現用於瞬態錯誤處理的 Promise 重試設計模式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!