一、可以重试的请求方法
js
/**
* @param {string} url 请求地址
* @param {number} maxCount 最大重试次数
*/
function request(url, maxCount = 5) {}
- eg:js
request('https://www.baidu.com', 6).then(res => { console.log(res) }).catch(err => { console.log(err) })
题解:
- 成功的情况,不用考虑,成功就正常返回。
- 失败的情况,是需要考虑的场景,请求失败,判断最大的重试次数,如果已经没有了请求重试的次数,则直接返回请求失败,否则再次调用请求。
js
/**
* @param {string} url 请求地址
* @param {number} maxCount 最大重试次数
*/
function request(url, maxCount = 5) {
return fetch(url).catch(err => maxCount <= 0? Promise.reject(err): request(url, maxCount - 1))
}