1:单个promise
let p=new Promise(function (resolve, reject){
$.ajax({
url: 'data/arr2.txt',
dataType: 'json',
success(arr){
resolve(arr);
},
error(err){
reject(err);
}
})
});
p.then(function (arr){
alert('成功'+arr);
}, function (err){
console.log(err);
alert('失败了'+err);
});
2:加载两个promise
function createPromise(url){
return new Promise(function (resolve, reject){
$.ajax({
url,
dataType: 'json',
success(arr){
resolve(arr);
},
error(err){
reject(err);
}
})
});
}
Promise.all([
createPromise('data/arr.txt'),
createPromise('data/json.txt')
]).then(function (arr){
let [res1, res2]=arr;
alert('全都成功了');
alert(res1);
alert(res2);
}, function (){
alert('至少有一个失败了');
});
3:jquery改进版
Promise.all([
$.ajax({url: 'data/arr.txt', dataType: 'json'}),
$.ajax({url: 'data/json.txt', dataType: 'json'})
]).then(function (results){
let [arr, json]=results;
alert('成功了');
console.log(arr, json);
}, function (){
alert('失败了');
});
或者
Promise.all([
$.ajax({url: 'data/arr.txt', dataType: 'json'}),
$.ajax({url: 'data/json.txt', dataType: 'json'}),
$.ajax({url: 'data/num.txt', dataType: 'json'})
]).then(results=>{
let [arr, json, num]=results;
alert('成功了');
console.log(arr, json, num);
}, err=>{
alert('失败了');
});