首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个ajax和非ajax函数后的回调

多个ajax和非ajax函数后的回调
EN

Stack Overflow用户
提问于 2014-04-15 13:56:52
回答 1查看 480关注 0票数 1

我正在从两个函数(一个是ajax函数,另一个是非ajax函数(都是异步函数)成功的结果中学习如何执行回调。在我的脚本中,有一个非ajax调用来在程序开始时加载多个映像,并有一个ajax (JQuery)调用来请求一个包含脚本中变量数据的JSON。我已经发现了用于进行多个ajax调用的JQuery的when()函数,还发现了用于在回调之前发出多个请求的这个答案,这可能是可破解的。在这个问题上,我正在寻找一些关于是否或如何在多个混合函数之后执行回调的函数的建议。提前谢谢你的想法!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-15 14:02:35

$.when实际上将接收多个延迟对象,因此您可以这样做:

代码语言:javascript
复制
var xhr = ajax();
var images_promise = loadImages();

$.when.apply($, [xhr, images_promise]).done(function () {
    // something to do when both are complete
});

如果ajaxloadImages函数返回允诺对象:

代码语言:javascript
复制
function ajax() { 
    return $.ajax({
        // ajax configuration
    });
}

function loadImages() { 
    // create the deferred promise object
    var dfd = new jQuery.Deferred();
    $("img").on('load', function() { 
        // on the load event resolve the promise
        dfd.resolve();
    });
    return dfd;
}

阅读更多关于延迟承诺这里的内容

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

https://stackoverflow.com/questions/23085889

复制
相关文章

相似问题

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