异步模块(async.waterfall)

时间:2017-12-04 13:46:03

标签: javascript node.js asynchronous callback

我正在使用async.waterfall模块。 场景: 在第一个回调函数中,我正在填充数据库中的数据,并在第二个回调函数中传递该数据的输出,我发送邮件通知,然后用邮件标志更新数据库。

代码:

async.waterfall(
function(callback){
   // data population code
},
function(datafromDB, callback){
    NotificationManager.sendEmailToUser('MAIL', variableDetails, email, callback); 
   // code to update the database
}],
  function(err,result){
   //callback
}

我希望在调用更新数据库的代码后,我应该在回调函数中得到结果中的用户详细信息,但在此之前,发送邮件回调函数的问题正在解决。有没有办法在结果中获取用户详细信息?

1 个答案:

答案 0 :(得分:0)

你可以让第二个回调返回两个参数ex:datafromDB,notification

async.waterfall(
function(callback){
   // data population code
},
function(datafromDB, callback){
    NotificationManager.sendEmailToUser('MAIL', variableDetails, email, callback); 
    // code to update the database
    callback(null, datafromDB, notification);
}],
  function(err,result){
   //callback
}
相关问题