首页 新闻 会员 周边 捐助

jq 多个异步ajax 顺序执行, 都成功在执行特定的操作

0
悬赏园豆:20 [已解决问题] 解决于 2024-05-21 11:32

// 假设我们有三个异步操作,分别用函数表示
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, 失败则中断 以此类推

Mirck的主页 Mirck | 初学一级 | 园豆:114
提问于:2024-05-21 11:05
< >
分享
最佳答案
0

找到了


asyncOperation1().then(asyncOperation2).then(asyncOperation3).done(function(){
	console.log(111, this)
})

Mirck | 初学一级 |园豆:114 | 2024-05-21 11:32
其他回答(1)
0

使用Promise方法就好了

我超凶的 | 园豆:204 (菜鸟二级) | 2024-11-28 16:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册