使用promise实现请求重试:若请求失败,则延迟n秒之后重新发送请求,有最大重试次数。
// getData 请求函数
// times 最大重试次数
// delay 重试延迟时间
function retry(getData, times, delay) {
return new Promise((resolve, reject) => {
function attempt() {
getData.then(resolve).catch((err) => {
console.log(`还有${times}次机会`)
if(times == 0) {
reject(err)
} else {
times--
setTimeout(attempt(), delay)
}
})
}
attempt()
})
}
本文介绍了一种使用Promise来实现请求重试的方法。当请求失败时,代码将等待指定的时间后再次尝试,直到达到最大重试次数。这种方式有助于在网络不稳定的情况下提高请求的成功率。
962

被折叠的 条评论
为什么被折叠?



