首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以错误的顺序执行Jquery

以错误的顺序执行Jquery
EN

Stack Overflow用户
提问于 2013-11-19 14:01:18
回答 4查看 154关注 0票数 2

我有下面的样品。我总是把"c“放在"a”和"b“之前。如何相应地得到"a“、"b”和"c“?如有任何建议,我将不胜感激。

代码语言:javascript
复制
b.extend({
        get: function (id) {

        jQuery.ajax({
            type: 'GET',
            url: url,
            data: pdata,
            success: function (result) {
                console.log("a");
            }
        });

        for (var a = 0; a < 5; a++) {
            jQuery.ajax({
                type: 'GET',
                url: url,
                data: pdata,
                success: function (result) {
                    console.log("b");
                }
            });
        }
        console.log("c");
        }
});
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-11-19 14:11:17

您也可以使用递延

代码语言:javascript
复制
b.extend({
    get: function (id) {

        var request = jQuery.ajax({
            type: 'GET',
            url: url,
            data: pdata
        }).then(function(result) {
            console.log("a");
            return result;
        });

        for (var a = 0; a < 5; a++) {
            request = request.then(function(result) {
                return jQuery.ajax({
                    type: 'GET',
                    url: url,
                    data: pdata
                }).then(function(result) {
                    console.log("b");
                    return result;
                });
            });
        }

        request.then(function() {
            console.log("c");
        });
    }
});
票数 2
EN

Stack Overflow用户

发布于 2013-11-19 14:03:30

试一试

将您的代码放在success:

代码语言:javascript
复制
b.extend({
    get: function (id) {
        jQuery.ajax({
            type: 'GET',
            url: url,
            data: pdata,
            success: function (result) {
                console.log("a");
                for (var a = 0; a < 5; a++) {
                    jQuery.ajax({
                        type: 'GET',
                        url: url,
                        data: pdata,
                        success: function (result) {
                            console.log("b");
                            if (a === 5) {
                                console.log("c");
                            }
                        }
                    });
                }
            }
        });
    }
});
票数 6
EN

Stack Overflow用户

发布于 2013-11-19 14:03:34

在回调B中调用C,在回调A中调用B

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20073557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档