【问题标题】:Setting function execute order in Node.js [duplicate]在Node.js中设置函数执行顺序[重复]
【发布时间】:2016-04-01 19:51:30
【问题描述】:

我是 Node.js 的新手,因为它是异步的,有时我很困惑如何控制函数的执行顺序。想象一下下面有两个函数。

function login(id, pw){
 // do something
}


function getMyInfo(){
 // do something
};

login() 函数应该首先工作。然后是getMyInfo()。我该怎么做?我试过这个:

login(id, pw, function(err){
  // do something 
  if(err) return next();

  getMyInfo();
});

但它不起作用。我该怎么做?

【问题讨论】:

  • 你只是声明了函数,它们没有被执行。
  • 您需要实际接受并调用回调。
  • @Pierre 抱歉我编辑了。

标签: javascript node.js


【解决方案1】:

这称为“回调”

function login(id, pw, cb){
 // do something

 // after you're done:
 cb();
}

function getMyInfo(){
 // do something
};

【讨论】:

    【解决方案2】:

    利用回调。

    假设您希望函数 2 的执行不能在函数 1 之前执行,然后调用函数 2 作为函数 1 的成功回调。

    它们就像其他语言中的承诺。

    如果你不喜欢回调,你可以使用 Q 模块。

    http://www.tutorialspoint.com/nodejs/nodejs_callbacks_concept.htm

    简单易学的教程

    【讨论】:

      猜你喜欢
      • 2013-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-07
      • 1970-01-01
      相关资源
      最近更新 更多