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