赋予代码灵魂 , 追求极致性能

Hey guys, Here is Vtrois's Blog !

替代AJAX的Feth,及ES7的Async/Await。

Fetch 的出现就是为了解决 XHR 的问题,拿例子说明:

使用 XHR 发送一个 json 请求一般是这样:
var xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.responseType = 'json';

xhr.onload = function() {
  console.log(xhr.response);
};

xhr.onerror = function() {
  console.log("Oops, error");
};

xhr.send();
使用 Fetch 后,顿时看起来好一点
fetch(url).then(function(response) {
  return response.json();
}).then(function(data) {
  console.log(data);
}).catch(function(e) {
  console.log("Oops, error");
});
使用 ES6 的 箭头函数 后:
fetch(url).then(response => response.json())
  .then(data => console.log(data))
  .catch(e => console.log("Oops, error", e))
使用async/await后:
let Asynced=async function () {
     try {
    let response = await fetch(url);
    let data = response.json();
    console.log(data);
   } catch(e) {
    console.log("Oops, error", e);
   }
 }
Asynced();
点赞

发表评论

电子邮件地址不会被公开。