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)
});
Promise.all() 與:請求所有完成後執行
Promise.race() 或:只有一個完成promise
jq封裝的$.ajax返回的自己就是一個promise對象異步