在Nodejs中,如果先调用cb,那么这会导致函数的其余部分执行吗?

时间:2016-03-02 19:41:58

标签: javascript node.js

假设我有

function foo(cb) {
  cb()
}

function bar() {
  foo(function() {});
}

function zee(cb) {
  bar()
  cb()
}

如果我打电话给zee,那么对zee cb的调用是否会等待bar的foo cb执行?

1 个答案:

答案 0 :(得分:1)

是 - 除非您使用任何异步代码(如setTimeout,AJAX请求或承诺),否则您的程序将逐个执行调用。

zee(cb1)
    bar()
        foo(cb2)
            cb2()
    cb1()

请注意,这并非特定于Node,这正是JavaScript的常用方式。