一尘不染

兑现承诺模式

algorithm

我有一个被其他对象调用的函数,当我的应用程序加载时,获取参数,该函数应等待所有对象的调用,然后执行,因此使用promise模式可以确保所有对象都被加载,但是我不知道对象的数量,我不想设置加载超时。我不谈论特定的技术,例如jquery,需要算法。

伪代码:

      function loadWidget(id){
        list.push(id);
       //here I should ensure all Widget is loaded


          }

在其他应用程序中,我打电话给

    app.loadWidget.add(widget1.id);
    .
    .
    .      
    app.loadWidget.add(widget2.id);

阅读 219

收藏
2020-07-28

共1个答案

一尘不染

如果您不想要现成的解决方案,而是想自己实现所有算法,那么请阅读Wikipedia文章中引用的文章:期货和承诺以及Promises
/ A
Promises / A
+
的规范。

为了确保您做对了,请阅读Domenic Denicola撰写的“
您缺少承诺点”,并查看Promises / A +合规性测试

另一方面,如果您认为重新发明轮子不值得(除非是为了教育-
在这种情况下,一定要尽可能多地重新发明轮子),那么请看一看RSVP.js,这是一个轻量级的工具提供用于组织异步代码的工具的库。RSVP.js例如由Ember.js使用

2020-07-28