jQuery:在一个函数中,意识到在另一个函数中已完成的承诺

跳过

一些背景

尽管阅读了六个小时(包括官方文档),但我仍然难以解决诺言的实现问题。(我得到了核心概念。)在函数X中,我有Y个Ajax调用。我已经能够确定何时完成所有Y ajax调用(尽管,我仍然不完全了解语法如何产生结果)。

需要

但是,我仍然需要使函数X(另一个函数)调用者知道所有Y ajax调用均已完成。这是一个简化的/半伪代码示例。(我想知道以前的尝试是否由于范围问题而失败,但是在看到的示例中,我没有看到将延迟的对象传递给函数。我决定将示例保持在“干净”之下,而不是显示特定的尝试失败。)

$.fn.SendEmails = function (emailsToSend) {

    var emailSendingPromises = [];

    $.each(emailsToSend, function (i, p) {
        emailSendingPromises.push($.ajax({
            // relevant stuff
        })
        .done( function () {
            console.log('one email done');
        })
        .fail( function () {
            console.log('one email failed');
        }));
    });

    // when all promises have completed 
    $.when.apply($, emailSendingPromises).always(function () {
        console.log('all emails completed');
        // --- MAKE CALLER AWARE ALL EMAILS ARE COMPLETED ---
    });
}


$.fn.AnotherFunction = function () {

    $().SendEmails(emailsToSend);

    // --- BECOME AWARE THAT ALL EMAILS ARE COMPLETED ---

    // do other stuff only when all emails are completed AND some other things happen
}

非常感谢您的协助!:)

杰森

首先,尝试return荷兰国际集团你$.when在你的SendEmails函数。然后,AnotherFunction在进行此调用后,在您的中$().SendEmails(emailsToSend)添加一个.then()

$().SendEmails(emailsToSend).then(function() { /* other stuff */});

.then()返回的承诺已得到解决后才会触发。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从Jquery中的另一个函数调用一个函数

来自分类Dev

为什么我的代码没有意识到有一个 } 来关闭构造函数

来自分类Dev

如何使用 javascript 承诺使一个函数等待另一个函数异步完成运行?

来自分类Dev

在另一个函数中调用JS函数

来自分类Dev

在另一个函数中调用匿名函数

来自分类Dev

在另一个函数中调用被“隐藏”的函数

来自分类Dev

在另一个函数中访问函数结果

来自分类Dev

在另一个函数中声明的跟踪函数

来自分类Dev

从另一个函数中调用类函数

来自分类Dev

在Swift中返回另一个函数的函数

来自分类Dev

导出另一个函数中的函数

来自分类Dev

jQuery Mobile在另一个完成后执行一个函数

来自分类Dev

Python从另一个函数调用一个函数中的函数

来自分类Dev

从另一个类中的另一个函数激活一个函数

来自分类Dev

解决另一个函数的承诺

来自分类Dev

如何解决另一个函数的承诺

来自分类Dev

在PL / PGSQL中的另一个函数中调用一个函数

来自分类Dev

在C中另一个函数的输入中定义一个函数

来自分类Dev

如何在JavaScript中的另一个函数中调用一个函数

来自分类Dev

将值从一个函数传递到控制器中的另一个函数

来自分类Dev

从承诺中返回另一个承诺

来自分类Dev

从另一个类的构造函数将数组传递到类函数中

来自分类Dev

如何将函数输出插入到另一个函数的数组中

来自分类Dev

如何将变量从另一个函数传递到索引函数中的视图

来自分类Dev

如何从外部javascript文件访问嵌入到另一个函数中的函数?

来自分类Dev

在一个函数中,返回另一个函数的目的是什么?(JavaScript)

来自分类Dev

为什么我必须从另一个函数中调用一个函数?

来自分类Dev

在另一个函数中定义一个函数的优雅方法

来自分类Dev

比在另一个函数的参数中调用一个函数更昂贵?

Related 相关文章

  1. 1

    如何从Jquery中的另一个函数调用一个函数

  2. 2

    为什么我的代码没有意识到有一个 } 来关闭构造函数

  3. 3

    如何使用 javascript 承诺使一个函数等待另一个函数异步完成运行?

  4. 4

    在另一个函数中调用JS函数

  5. 5

    在另一个函数中调用匿名函数

  6. 6

    在另一个函数中调用被“隐藏”的函数

  7. 7

    在另一个函数中访问函数结果

  8. 8

    在另一个函数中声明的跟踪函数

  9. 9

    从另一个函数中调用类函数

  10. 10

    在Swift中返回另一个函数的函数

  11. 11

    导出另一个函数中的函数

  12. 12

    jQuery Mobile在另一个完成后执行一个函数

  13. 13

    Python从另一个函数调用一个函数中的函数

  14. 14

    从另一个类中的另一个函数激活一个函数

  15. 15

    解决另一个函数的承诺

  16. 16

    如何解决另一个函数的承诺

  17. 17

    在PL / PGSQL中的另一个函数中调用一个函数

  18. 18

    在C中另一个函数的输入中定义一个函数

  19. 19

    如何在JavaScript中的另一个函数中调用一个函数

  20. 20

    将值从一个函数传递到控制器中的另一个函数

  21. 21

    从承诺中返回另一个承诺

  22. 22

    从另一个类的构造函数将数组传递到类函数中

  23. 23

    如何将函数输出插入到另一个函数的数组中

  24. 24

    如何将变量从另一个函数传递到索引函数中的视图

  25. 25

    如何从外部javascript文件访问嵌入到另一个函数中的函数?

  26. 26

    在一个函数中,返回另一个函数的目的是什么?(JavaScript)

  27. 27

    为什么我必须从另一个函数中调用一个函数?

  28. 28

    在另一个函数中定义一个函数的优雅方法

  29. 29

    比在另一个函数的参数中调用一个函数更昂贵?

热门标签

归档