使用 promise 对象封装一个ajaxGet函数

 

function promiseAjax(url,data){
       var pro = new Promise(function(success,failed){
          //承诺一件事 : 使用ajax请求服务器的数据  
          var ajax = new XMLHttpRequest();
          if( data ){
              url = url + "?" + data;
          }
          ajax.open("get",url);
          ajax.send();
          ajax.onreadystatechange = function(){
              if( ajax.readyState == 4 && ajax.status == 200 ){
                 //说明承诺的事情 : 请求服务器数据 成功
                 success(ajax.responseText);
              }
          }      
          //经过一段时间后 如果没有执行success方法  说明承诺的事情没有成功
          setTimeout(function(){
              failed("失败了");
          },5000)    
       })
       //将promise对象返回
       return pro;
   }
posted @ 2018-10-25 10:05  格尔尼卡ぃ  阅读(542)  评论(0编辑  收藏  举报