求助,执行顺序问题

求助
for循环有n个精灵,精灵按需要进行动画或者移动操作,移动时间和精灵数量都是不定的,怎么能等精灵操作全部完成了,再执行后面的代码,因为没有完成的话后面的代码会错

比如这样的
for(var i=0; i<100, i++) {
[i].node. runAction(cc.moveto(x秒,p(0,0));
}
var x = 100.node.x;
执行完所有移动后,再执行最下面的代码

var finished = 0;
var total = 100;
for (var i = 0; i < total; i++) {
  [i].node.runAction(cc.sequence(
    cc.moveTo(x, p(0, 0)),
    cc.callFunc(function(){
      finished++;
      if (finished === total) {
        x = 100.node.x;
      }
    })
  ))
}

可以在遍历中对每个node进行targetAction,遍历结束后用其他的节点的runaction的cc.sequence来跑这些targetAction和最后的callBack逻辑。

var _actions=[];
for(var i=0;i<nodes.length;i++){
    var _targetAction=new cc.TargetAction(nodes[i],cc.moveTo(duration, position, y));
    _actions.push(_actions);
}
root.runAcion(cc.sequence(cc.sequence(_actions),cc.callFunc(function(target,data){
    var x=data.x;
},this,nodes[99])));