嘗試創建一個retry返回函數的函數,該函數調用回調函數并從傳遞其參數的回調函數返回值并捕獲錯誤。如果捕獲到錯誤,它應該返回帶有 catch 的回調函數。如果錯誤數超過計數,則拋出錯誤。這是到目前為止所做的:const retry = (count, callback) => { let attempts = 1; const _retry = async (...args) => callback(...args) .catch(err => { if (attempts > count) throw err attempts++ return _retry(...args) }); return _retry}調用時出現問題:var r = Math.random().toString(36).slice(2)var arg = (n) => async (...v) => --n < 0 ? v : Promise.reject(Error(`>>> x:${v}`)) await retry(3, arg(2))(r)
自定義重試功能
莫回無
2023-03-24 15:42:33