Promise簡介
Promise 是異步編程的一種解決方案,比傳統的解決方案–回調函數和事件--更合理和更強大。ES6將其寫進了語言標准,統一了語法,里面保存着某個未來才回結束的事件(通常是一個異步操作)的結果。從語法上說,Promise是一個對象,從它可以獲取異步操作的消息,代碼十分簡潔易讀沒有復雜的花括號嵌套,把異步代碼寫成同步的感覺。
代碼:

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)
});
Promise.all() 與:請求全部完成后執行
Promise.race() 或:只有一個完成
jq封裝的$.ajax返回的本身就是一個promise對象