Open mileOfSunshine opened 2 months ago
function request() {
return new Promise((resolve, reject) => {
setTimeout(() => {
reject()
}, 3000)
})
}
function fn(retryCount = 3) {
return new Promise((resolve, reject) => {
function retry() {
// 判断请求超{retryCount}次
if (retryCount > 0) {
retryCount--
return request().then(() => {
}).catch(e => {
retry()
})
} else {
return reject('已请求3次')
}
}
retry()
})
}
// 计时器
function timer() {
// 设置超时时间为10秒
return new Promise((resolve, reject) => {
setTimeout(() => {
return reject('请求超时')
}, 10000)
})
}
// 计时器和请求重试,看哪个先到达
Promise.race([fn(), timer()]).then(res => {
console.log('res=>>', res)
}).catch(e => {
console.error('e==>', e)
})
获取指定时间段的所有日期