版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mx18519142864/article/details/80694568
fetch
原生window的fetch方法仅兼容
解决办法:在我们编写项目时需(引入 Promise 的 polyfill)
原因: polyfill的基本原理是检测浏览器支不支持fetch,若不支持则用XHR。
注意:
由于IE8是ES3,所以需要引入ES5的polyfill的: es5-shim,es-sham
require('es6-promise').polyfill();
import 'isomorphic-fetch';
注意:
有些浏览器支持fetch,但是响应有中文会产生乱码
解决办法: 可引用fetch-detector fetch-ie8
坑来了:
fetch请求默认不携带cookie,需在第二个参数中设置
credentials: "include"
fetch用promise的polyfill方法,所以支持.then,.catch方法 所以应用时promise的缺点就是fetch的缺点
promise一旦执行,将无法终止,所以fetch请求一旦发出无法终止。无法知道请求到了哪一步,而XHR是能用abort终止。