promise請求數據用法

Promise簡介ajax

Promise 是異步編程的一種解決方案,比傳統的解決方案–回調函數和事件--更合理和更強大。ES6將其寫進了語言標準,統一了語法,裏面保存着某個將來纔回結束的事件(一般是一個異步操做)的結果。從語法上說,Promise是一個對象,從它能夠獲取異步操做的消息,代碼十分簡潔易讀沒有複雜的花括號嵌套,把異步代碼寫成同步的感受。編程

代碼:json

  

      let p1=new Promise((resolve,reject)=>{
        //resolve  解決>成功
        //reject   拒絕>失敗
        $.ajax({
                        url:'1.txt',
                        dataType:'json',
                        success(json){
                            resolve(json);
                        }
                        error(){
                            reject(err);
                        }
                    })
      });
      let p2=new Promise((resolve,reject)=>{
        $.ajax({
              url:'2.txt',
              dataType:'json',
              success(json){
                resolve(json);
              }
              error(){
                reject(err);
              }
            })
      });
      Promise.all([p1,p2]).then(arr=>{
          let [a1,a2]=arr;
      },err=>{
        console.log(err)
      });
View Code

 

    

  Promise.all() 與:請求所有完成後執行
  Promise.race() 或:只有一個完成promise

  

 

  jq封裝的$.ajax返回的自己就是一個promise對象異步

  

相關文章
相關標籤/搜索