手写promise.retry
约 42 字小于 1 分钟
2025-09-08
const promiseRetry = (promiseFn, maxAttempts, delay) => {
return new Promise((resolve, reject) => {
const retry = (attempts) => {
promiseFn.then(resolve).catch(err => {
if(attempts < maxAttempts) {
setTimeout(() => retry(attempts + 1), delay)
} else {
reject(err)
}
})
}
retry(1)
})
}