Node.js:如何在function1之后调用function2?

时间:2011-04-05 15:48:31

标签: javascript node.js

我有两个函数(cb()和cb1())需要一个接一个地调用。

如果我只是执行cb(); cb1();无效,那么我会在cb1();完成时尝试致电cb();,因为:

 cb = function(err) {
    if (err)
    die(err);
    else if (next < cmds.length){
    cmds[next++].apply(this, Array.prototype.slice.call(arguments).slice(1));
    console.log(next);
    }
    else 
    cb1();
};

但是,该函数未被调用。我在这里错过了什么?我理解,因为代码是异步的,所以在我第一次尝试时不会一个接一个地调用这些函数。我是对的吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

如果你想确保一个接一个地调用一个东西,试试这个:

cb();
process.nextTick(cb1);

process.nextTick

就像我提到的,您的代码块感觉就像在javascript中模拟不同的语言一样。从高层的角度来看,你想要达到什么目的?可能有更好的方法来解决这个问题。