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'一次执行一个事务,但是无法将结果附加到响应中发送。我目前不知道为什么未定义传递它。
在上一个回调-/*DB commit*/ callback(null)
中,您调用next
时错误为空,并且“结果”未定义。让我们尝试使用callback(null, 100)
,您将获得100
而不是undefined