我知道Fetch API使用Promise
,它们都允许您向服务器发出AJAX请求。
我读到Fetch API有一些额外的特性,这些特性在XMLHttpRequest
(以及Fetch API polyfill,因为它是基于XHR
的)中是不可用的。
Fetch API有哪些额外的功能?
发布于 2018-03-20 10:27:52
上面的答案是好的,并且提供了很好的见解,但是我和这篇google developers blog entry分享了相同的观点,主要的区别(从实际的角度来看)是从fetch
返回的内置promise的便利性
而不是像这样写代码
function reqListener() {
var data = JSON.parse(this.responseText);
}
function reqError(err) { ... }
var oReq = new XMLHttpRequest();
oReq.onload = reqListener;
oReq.onerror = reqError;
oReq.open('get', './api/some.json', true);
oReq.send();
我们可以把事情搞清楚,用promises和现代语法写出更简洁、更易读的东西。
fetch('./api/some.json')
.then((response) => {
response.json().then((data) => {
...
});
})
.catch((err) => { ... });
https://stackoverflow.com/questions/35549547
复制相似问题