实现中的 fetch 是希望能比 XMLHttpRequest 更好地做网络请求。
fetch('/')
.then(res => {
if(res.ok) {
return res.text();
} else {
throw new TypeError(res.statusText);
}
})
.then(text => console.log(text.length))
.catch(err => console.error(err.message));
Reference
注意点:
- fetch 仅在网络因素下 reject,业务的错误,如 502 或 404 等会 resolve,需要判断 response 是否 ok
- 默认不携带 cookie,需要明确指定
- 跨域时会受 CSP 控制影响,需要配置