我需要在同一个表上运行node.js的两个查询,但我似乎无法让第二个查询运行(查询只是示例,我知道这是一种愚蠢的方式来执行此操作):< / p>
status
我打开了在mysql上记录所有查询,只有第一个查询显示在日志中。我在使用async.waterfall之前尝试嵌套回调,但我得到了同样的行为。
我确实得到了async.waterfall(
[
function(callback) {
connection.query('SELECT tail FROM tails;', function(err, rows, fields) {
console.log("All results:",rows);
return callback(null, 1);
});
},
function(ret, callback) {
console.log("ret: ",ret);
connection.query('SELECT id FROM tails;', function(err, rows, fields) {
console.log("All ID results:",rows);
return callback(null, 'data');
});
}
],
function(err, result) {
console.log("waterfall function. Result:",result);
}
);
行,但我得到ret: 1
。
如果我将查询移出此块以使其异步,那么一切正常,但我需要第一个查询的结果才能运行第二个查询。有任何想法吗?感谢。
答案 0 :(得分:0)
正如Nir Levy在他的评论中提到的那样,请务必查看err
以查找答案的所有内容。
在这个瀑布之外,我有一个关闭连接的命令,它被并行调用。添加靠近瀑布解决了这个问题。