// 假设我们有三个异步操作,分别用函数表示
function asyncOperation1() {
// 返回一个Promise
return jQuery.ajax({
url: '?a',
type: 'GET'
});
}
function asyncOperation2() {
// 返回一个Promise
return jQuery.ajax({
url: '?b',
type: 'GET'
});
}
function asyncOperation3() {
// 返回一个Promise
return jQuery.ajax({
url: '?c',
type: 'GET'
});
}
jQuery.when(asyncOperation1(),asyncOperation2(), asyncOperation3()).done(function(){
console.log(this, 11111)
})
上面的写法这三个ajax 是同时执行, 我要的效果是 asyncOperation1-->asyncOperation2-->asyncOperation3 顺序执行asyncOperation1 成功在执行asyncOperation2, 失败则中断 以此类推
找到了
asyncOperation1().then(asyncOperation2).then(asyncOperation3).done(function(){
console.log(111, this)
})
使用Promise方法就好了