我不确定为什么在使用Async.forEachLimit时在这里出现未定义

问题描述 投票:0回答:1
async.forEachLimit(values,1,(item,valueCallBack)=>{
  async.waterfall([
    function(callback){
      /*beginTransaction*/
      callback(null)
    },
    function(callback){
      /*DB Update*/
      callback(null)
    },
    function(callback){
      /*DB delete*/
      callback(null)
    },
    function(callback){
      /*DB commit*/
      if(error) callback(error,result)
      else callback(null,result)
    }], (error, result) => {
      valueCallBack(error,result)
    })
  }, (error,result) {
    if(error) /* rollback function */
    else res.status(200).send(result); <-- result undefined!!!!!! :(
  })

为了同步执行事务,我尝试使用'forEachLimit'和'waterfall'一次执行一个事务,但是无法将结果附加到响应中发送。我目前不知道为什么未定义传递它。

node.js async.js
1个回答
0
投票

在上一个回调-/*DB commit*/ callback(null)中,您调用next时错误为空,并且“结果”未定义。让我们尝试使用callback(null, 100),您将获得100而不是undefined

© www.soinside.com 2019 - 2024. All rights reserved.