Skip to content

一、可以重试的请求方法

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))
   }

Released under the MIT License.