码迷,mamicode.com
首页 > 其他好文 > 详细

promise

时间:2019-12-29 14:53:12      阅读:69      评论:0      收藏:0      [点我收藏+]

标签:data   ISE   XML   date   解决   stat   封装   func   on()   

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)

})

    

 

          

promise

标签:data   ISE   XML   date   解决   stat   封装   func   on()   

原文地址:https://www.cnblogs.com/bamboopanders/p/12114774.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!