1. 程式人生 > 實用技巧 >用promise 封裝 ajax(來自牛客)

用promise 封裝 ajax(來自牛客)

請使用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=>{ returnnewPromise((resolve,reject)=>{
letreq=newXMLHttpRequest(); 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("網路異常")); } }) }