Es6- 使用promise的方法封裝自己的ajax
promise封裝自己的ajax:
const getJSON = function(url){
return new promise((resolved,rejected)=>{
const xhrs = new XMLHttpRequest();
xhrs.open('GET',url);
xhrs.onreadystatechange = handler;
xhrs.responseType = 'json';
xhrs.setRequestHeader('Accept','application/json');
xhrs.send();//get請求資料是放在url中,如果是post,此處需要新增對應的資料
function handler(){
if(this.readyState ===4){
if(this.status ===200){
resolved(this.response) //返回的根據自己的情況進行展示
}else{
rejected(this,error)//返回的根據自己的情況進行展示
}
}
}
})
}
getJSON('XXXXXXXXXXXXXXXXXX').then((res)=>{
console.log(res)
},(error)=>{
console.log(error);
})
還有一種寫法是
getJSON('XXXXXXXXXXXXXXXXXX').then((res)=>{
console.log(res)
}).catch(err =>{
console.log(err);
})