ES6 promise 的一些常用方法
var getJSON=function(url){
var promise=newPromise(function(resolve,reject{
var client=newXMLHttpRequest();
client.open("GET",url);
client.onreadystatechange=handler;
client.responseType="json";
client.setRequestHeader("Accept","application/json");
client.send();
function handler(){
if(this.readyState!==4)
{
return;
}
if(this.status===200{
resolve(this.response);
}else{
reject(newError(this.statusText));
}};
});
returnpromise;
};
getJSON("/posts.json").then(function(json){console.log('Contents: '+json);
},function(error){console.error('出错了',error);
});
上面代码中,getJSON是对XMLHttpRequest对象的封装,用于发出一个针对JSON数据的HTTP请求,并且返回一个Promise对象。需要注意的是,在getJSON内部,resolve函数和reject函数调用时,都带有参数。