Ajax请求出错时怎么统一处理错误?

闲人耘博 阅读 3

我用原生 fetch 做 Ajax 请求,但每次都要写一遍 catch,感觉很重复。比如网络断了或者后端返回 500,我想统一弹个提示,而不是每个请求都单独处理。

试过在 fetch 外面包一层函数,但有时候错误没被捕获到,控制台报 Uncaught (in promise) TypeError: Failed to fetch,不知道是不是写法有问题。

function apiGet(url) {
  return fetch(url)
    .then(res => res.json())
    .catch(err => {
      alert('请求失败,请重试');
      throw err; // 这里加不加 throw 都有点懵
    });
}
我来解答 赞 3 收藏
二维码
手机扫码查看
暂无解答

暂无解答