promise
promise存在的意义?
我们都知道ajax在向后台发送请求的时候,后台返回数据;有时候我们想同时请求多组数据,那就需要多次发送ajax请求。这样就只能用回调函数的嵌套来完成,就会造成回调地狱,消耗性能。promise的诞生正好解决了这个问题,可以在外部判断是否请求成功。下面是利用promise技术封装ajax.
function ajaxGet(url,data){
var p=new Promise(function(resloved,rejected){
var data=data||{};
var str="";
for(var i in data){
str+=`${i}=${data[i]}&`;
}
var d=new Date();
url=url+"?"+str+"lyt_="+d.getTime();
var xhr=new XMLHttpRequest();
xhr.open("get",url,true);
xhr.send();
xhr.onreadystatachange=function(){
if(xhr.readystata===4&&xhr.status===200){
resloved(xhr.responsText);
} else if(xhr.readystata===4&&xhr.status!=200){
rejected(xhr.status)
}
}
})
return p;
}
ajax(url,data).then(function(res){
log(res)
},
function(res){
log(res)
})