开发者社区> 问答> 正文

Jquery AJAX如何使用Promise/Deferred实现顺序执行?

因为每次get到数据是下次请求的参数
目前我是层层嵌套,不好维护,可读性也很差,大致流程如下:

function get(){
    $.ajax({
        url:'test.php',
        success:function(){
            $.ajax({
                url:'test1.php',
                success:function(){
                    $.ajax({
                        url:'test2.php',
                        success:function(){
                            $.ajax({
                                url:'test3.php',
                                success:function(){
                                    //TODO
                                }
                            })
                        }
                    })
                }
            })
        }
    })
}

for(i=0;i<list.length;i++){
    get()
}

大牛勿笑,就是这么蛋疼,希望能帮帮我,谢谢

展开
收起
小旋风柴进 2016-05-27 09:53:33 3492 0
1 条回答
写回答
取消 提交回答
  • function get(){
        $.ajax({
            url:'test.php'
        }).then(function(){
            return $.ajax({ url:'test1.php' });
        }).then(function(){
            return $.ajax({ url:'test2.php' });
        }).then(function(){
            return $.ajax({ url:'test3.php' });
        }).then(function(){
            //TODO here
        });
    }
    
    for(i=0;i<list.length;i++){
        get()
    }
    2019-07-17 19:17:07
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Javascript中的对象 立即下载
Javascript中的函数 立即下载
JavaScript函数 立即下载