先执行getData1,在执行getData2
let getData1=new Promise(function(resolve,reject){
$.ajax({
type:"get",
url:".../getData1",
success:function(data){
if(data.state=="200"){
resolve(data.data) // 在异步操作成功时调用
}else{
reject(data.msg); //在异步操作失败时调用
}
}
});
})
let getData2=new Promise(function(resolve,reject){
$.ajax({
type:"get",
url:".../getData2",
success:function(data){
if(data.state=="200"){
resolve(data.data) // 在异步操作成功时调用
}else{
reject(data.msg); //在异步操作失败时调用
}
}
});
})
getData1.then(function(res){
return getData2(res)
}).then(function(res){
console.log(res)
}).catch(function(err){
console.log(err)
})
先执行getData1和getData2,在执行getData3
let getData3=new Promise(function(resolve,reject){
$.ajax({
type:"get",
url:".../getData3",
success:function(data){
if(data.state=="200"){
resolve(data.data) // 在异步操作成功时调用
}else{
reject(data.msg); //在异步操作失败时调用
}
}
});
})
Promise的all方法,等数组中的所有promise对象都完成执行
Promise.all([getData1,getData2]).then(function([ResultJson1,ResultJson2]){
//这里写等这两个ajax都成功返回数据才执行的业务逻辑
getData3()
})