月度归档: 2017 年 6 月

  • fetch

    实现中的 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

    注意点:

    1. fetch 仅在网络因素下 reject,业务的错误,如 502 或 404 等会 resolve,需要判断 response 是否 ok
    2. 默认不携带 cookie,需要明确指定
    3. 跨域时会受 CSP 控制影响,需要配置