我有可变数量的要执行的异步事件。我希望在他们全部完成后能够采取进一步的行动。下面的代码片段显示了我尝试使用 jquery 延迟对象调用事件。有人可以帮忙吗?(我知道代码不会按原样运行)。bubble.transitionTo 是异步事件。警报(“完成”);在异步回调完成之前调用,实际上是在它们执行之前。
var events = [];
for (var i = 0; i < stageBubbles.length; i++) {
var element = stageBubbles[i];
var bubble = new Object();
bubble = this.dataPointLayer.get('#' + element.name)[0];
bubble.setOpacity(0.5);
events.push(bubble.transitionTo({
x: element.x,
y: element.y,
radius: element.radius,
duration: 3,
easing: 'ease-in',
callback: function () {
}
}));
}
$.when.apply(this, events).done(function () { alert('complete'); });