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)

})

  

相关推荐