実行したい非同期イベントの数は可変です。すべて完了した後、さらにアクションを実行できるようにしたいと思います。以下のコードスニペットは、jqueryの遅延オブジェクトを使用してイベントを呼び出す試みを示しています。誰か助けてもらえますか?(コードがそのまま実行されないことはわかっています)。bubble.transitionToは非同期イベントです。alert('complete'); 非同期コールバックが完了する前、実際には実行される前に呼び出されます。
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'); });