jQuery技术:多个ajax和非ajax函数之后的回调

我正在学习在两个函数成功结果之后执行回调,其中一个是ajax,一个是非ajax(两者都是异步的)。 在我的脚本中有一个非ajax调用,用于在程序开始时加载多个图像,以及一个ajax(JQuery)调用,用于向脚本中的变量请求带有数据的JSON。 我发现了JQuery的when()函数用于进行多个ajax调用,并且我发现这个答案是为了在回调之前发出多个请求,这可能是可以攻击的。 我正在追逐我的尾巴并寻找关于是否或如何使函数在多个混合函数之后执行回调的一些建议。 提前感谢您的想法!

    $ .when实际上会接受多个延迟对象,所以你可以这样做:

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

    loadImagesajaxloadImages函数返回promise对象:

     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; } 

    在这里阅读更多关于延期承诺的信息

      以上就是jQuery教程分享多个ajax和非ajax函数之后的回调相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/jquerytutorial/562000.html

      (0)
      上一篇 2021年2月5日
      下一篇 2021年2月5日

      精彩推荐