实施承诺模式

我有一个函数调用其他对象,当我的应用程序被加载,获取参数和函数应该等待与所有的对象调用,然后与承诺模式执行,我可以确保所有的对象被加载,但我不知道计数的对象,我不想为加载设置超时。我不谈论具体的技术,如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);

如果您不想要现成的解决方案,而是希望自己实施所有算法,请阅读维基百科文章中引用的论文:期货和承诺以及Promises / A和Promises / A +的规格。

为了确保你做得对,请阅读Domenic Denicola的“你没有承诺的承诺”,并参阅Promises / A +的合规性测试。

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

链接地址: http://www.djcxy.com/p/55371.html

上一篇: Implement promises pattern

下一篇: Use cancel() inside a then