我有一个用其他对象调用的函数,当我的应用程序被加载时,获取参数并且函数应该等待所有对象的调用,然后使用promises模式执行,我可以确保所有对象都已加载但我不知道知道对象的数量,我不想设置超时加载。我不讨论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);
答案 0 :(得分:13)
如果你不想要现成的解决方案,而是想自己实现所有算法,那么请阅读维基百科文章中提到的论文:Futures and promises以及Promises/A和{{3的规范}}
为确保您做得正确,请阅读Domenic Denicola的Promises/A+并查看You're Missing the Point of Promises。
另一方面,如果您认为重新发明轮子是不值得的(除非是为了教育 - 在这种情况下,尽可能多地重新发明轮子),然后看看{{3一个轻量级库,提供组织异步代码的工具。 RSVP.js例如由Compliances tests for Promises/A+使用。