Ajax请求出错时怎么统一处理错误?
我用原生 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 都有点懵
});
}
暂无解答