callFunc怎么提前执行了?

 showBarrage: function() {
    var moveBarrage = cc.moveTo(5, this.firstPos);
    console.log(this.isOkBarrage);
    this.barrage.runAction(cc.sequence(moveBarrage, cc.callFunc(this.showBarrageCallback(this))));
},

showBarrageCallback: function(self) {
    console.log("runaction end");
    self.isOkBarrage = true;
},

如图, 执行showBarrage(),队列执行动作,moveBarrage有5秒时间,再执行callFunc,但好像一瞬间回调里的"runaction end"就打印出来了,怎么回事啊????新手见谅

因为你手动调用了,函数带括号是调用,不带括号是取址,应该改成

this.barrage.runAction(cc.sequence(moveBarrage, cc.callFunc(this.showBarrageCallback.bind(this, this))));

多谢:grin::grin::grin::grin::grin::grin::grin: