promise实现ajax
function getJSON(url){
let promise=new Promise((resolve,reject)=>{
handler(){
if(this.readyState!==4){
return;
}
if(this.status===200){
resolve(this.response);
}else{
reject(new Error(this.statusText));
}
}
let xhr=new XMLHttpRequest();
xhr.open('GET',url);
xhr.send();
xhr.onreadystatechange=handler;
})
return promise;
}
getJSON("http://...").then(function(data){
console.log(data);
}).catch(function(res){
console.log(res);
})
resolve( )异步操作成功时,会返回成功结果,并作为参数传递出去;
reject( )异步操作失败时,返回失败结果,并作为参数传递出去;