Fetch与xhr的区别

1. fetch的语法简洁,更语义化
2. 基于promise,支持async/await
3. 同构方便,使用isomorphic-fetch

4. fetch请求可以在前端拦截301,302等跳转,予以处理,xhr请求不能拦截,浏览器会自动跳转,只能拿到跳转后的结果

Fetch的缺点:

1. fetch只对网络错误报错,http状态码错误不报错
2. fetch不支持abort,无法终止
3. fetch不支持超时控制,使用setTimeout和Promise.reject实现的超时控制不能阻止请求过程继续在后台运行,造成了流量的浪费
4. fetch没有原生检测请求进度的方式,XHR可以
5. 默认情况下fetch不发送cookie,除非手动配置

6. fetch 不支持同步请求

posted @ 2020-05-06 14:06  全玉  阅读(2974)  评论(0编辑  收藏  举报