Fetch
Fetch要解决的问题:
1.XMLHttpRequest 的API比较粗糙,不符合关注分离的原则,除浏览器的兼容性外,还饱受回调地狱的折磨。
2.jQuery实现的AJAX,兼容性和易用性方面有很大的改善,但是依然没有逃脱回调的折磨。
Fetch API 基于Promise设计,极大改善了回调问题,使用起来和jQuery一样的方便,且绝大多数浏览器都支持Fetch。
(旧浏览器不支持Promise,需要使用pollyfill es6-promise;Fetch报错处理不友好,4xx、5xx需要单独封装处理)
Fetch github 常用API
HTML
fetch('/users.html')
.then(function(response) {
return response.text()
}).then(function(body) {
document.body.innerHTML = body
})
JSON
fetch('/users.json')
.then(function(response) {
return response.json()
}).then(function(json) {
console.log('parsed json', json)
}).catch(function(ex) {
c