在一些事件全部解雇后,做某事的最佳做法是什么

时间:2014-10-19 12:13:42

标签: javascript

例如,我想告诉用户在一堆异步初始化后它们已经准备好了(它们在完成时会触发事件),最佳做法是什么?

我的解决方案是使用计数器来计算事件的数量,一旦计数器的值等于事件的总数,那么我就会给一个消息干杯。

1 个答案:

答案 0 :(得分:0)

如果您有一定数量的事件将会被触发,那么我没有看到使用事件计数器的问题,如您所建议的那样。这样你肯定会知道所有事件都被触发了,而且它只是效率稍低,因为它需要检查每次回调中的计数。

否则,“当时”的承诺可以起作用,例如:

var promises = [ asyncProcessOne(), asyncProcessTwo(), asyncProcessThree() ];

Promise.all(promises)
    .then(onFulfilled, onRejected) // run onFulfilled if process is successful