【发布时间】:2018-01-27 23:11:29
【问题描述】:
我在 express js 中使用异步库,但在正确使用回调的两种方法时遇到问题。瀑布最末端的变量 result3 在其范围内完美地显示出来。但是,在需要发送给客户端的结果函数中,它是一个空白数组。提前致谢。
async.waterfall(
[
function(callback) {
someQuery
callback(null,result1);
},
function(result1, callback) {
someQuery
callback(null,result2);
},
function(result2, mainCallback) {
async.forEachOf(result2, function (result, key, callback) {
request.query(
`SELECT * FROM tbl WHERE id = ${result.id};`,
function(err, recordset) {
result3 = recordset;
callback();
}
);
}, function (err) {
if (err) console.error(err.message);
mainCallback(null, result3);
});
}
],
function(err, result) {
console.log(result3);
res.send(
JSON.stringify({
result3
})
);
}
);
【问题讨论】:
标签: javascript node.js express asynchronous