使用过Fetch之后,你还想使用AJAX吗

之前做数据交互的时候,请求数据一直使用ajax,看到网上有使用Fetch,所以也想拿来尝尝鲜

本次介绍只涉及fetch相关,传统的ajax基本上不涉及

当然你也要考虑兼容。浏览器支持情况。

一会这个只扯一下,我所遇到的情况:

由于fetch的坑:

服务器返回 400,500 错误码时并不会 reject,只有网络错误这些导致请求不能完成时,fetch 才会被 reject。

那么,我们怎么处理http的错误代码呢?

接下来我们改造一下fetch的请求步骤

fetch('some-url')
  .then(response => {
    if (response.ok) {
      return response.json()
    } else {
      return Promise.reject({
        status: response.status,
        statusText: response.statusText
      })
    }
  })
  .catch(error => {
    if (error.status === 404) {
      // do something about 404
    }
  })

  

原文地址:https://www.cnblogs.com/wy1935/p/7150713.html