我正在尝试使用node-mysql连接查询与原始查询的结果串联工作。完成所有设置后,这是有问题的部分。似乎连接已经结束。如何确保processRow中的查询与原始结果一起执行?
function processRow(row, callback){
connection.query('INSERT INTO other_table VALUES (?)', row.id, function(err, rows, fields) {
if (err) throw err;
});
callback();
}
var query = connection.query('SELECT id from tbl limit 2');
query
.on('error', function(err){
throw err;
})
.on('fields', function(fields){
})
.on('result', function(row){
processRow(row, function(){
connection.resume();
});
})
.on('end', function(){
//
});
connection.end();
答案 0 :(得分:0)
function processRow(row, callback){
connection.query('INSERT INTO other_table VALUES (?)', row.id, function(err, rows, fields) {
if (err) throw err;
callback();//callback should go here
});
}
然后你可以结束连接:
query.on('result', function(row){
processRow(row, function(){
connection.end(); //maybe end the connection once insertion into the table is done
});
})
答案 1 :(得分:0)
我认为您的代码问题是在调用connection.pause()
之前必须致电processRow()