节点动作完成后, 删除节点, 为何无效?

                // 这样写直接就删除了, runAction无动作效果;
                this.map[x][y].node.runAction(cc.moveTo(0.3, house.node.pos.x*50, house.node.pos.y *50))
                this.node.removeChild( this.map[x][y].node)
                
                
                // 改成这样 有了动作效果, 也执行了cc.log(), 但没有移除节点
                var finished = cc.callFunc(function(target) {
                    cc.log("执行")
                    this.node.removeChild( this.map[x][y].node)
                }, this, null);
                var action = cc.sequence(cc.moveTo(0.3, house.node.pos.x*50, house.node.pos.y *50), finished)
                this.map[x][y].node.runAction(action)


                    这是怎么回事呢?

解决了, 我把x,y都通过callFunc手动传进去.

我也不清除什么原因, 难道JS也有线程安全的概念?! 孤陋寡闻了.