用promise 封裝 ajax(來自牛客)
阿新 • • 發佈:2020-12-06
請使用Promise封裝Ajax操作
原始的Ajax操作如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
var onSuccess = function(result){}; //成功的回撥
var onFail = function(error){}; //失敗的回撥
var req = new XMLHttpRequest();
req.open( "POST" , "www.baidu.com" , true );
req.onload = function(){
if (req.readyState === 4 && req.status === 200 ){
onSuccess(req.response);
} else {
onFail(req.statusText);
}
}
req.onerror = function(){
onFail(Error( "網路異常" ));
}
|
constajax=url=>{
return new Promise((resolve,reject)=>{
letreq= new XMLHttpRequest();
req.open( "POST" ,url, true );
req.onload=()=>{
if (req.readyState===4&&req.status===200){
resolve(req.response);
} else {
reject(req.statusText);
}
}
req.onerror=()=>{
reject(Error( "網路異常" ));
}
})
}
|