例如,我想告诉用户在一堆异步初始化后它们已经准备好了(它们在完成时会触发事件),最佳做法是什么?
我的解决方案是使用计数器来计算事件的数量,一旦计数器的值等于事件的总数,那么我就会给一个消息干杯。
答案 0 :(得分:0)
如果您有一定数量的事件将会被触发,那么我没有看到使用事件计数器的问题,如您所建议的那样。这样你肯定会知道所有事件都被触发了,而且它只是效率稍低,因为它需要检查每次回调中的计数。
否则,“当时”的承诺可以起作用,例如:
var promises = [ asyncProcessOne(), asyncProcessTwo(), asyncProcessThree() ];
Promise.all(promises)
.then(onFulfilled, onRejected) // run onFulfilled if process is successful