我正在尝试编写一个执行两个查询的函数,并且我希望能够在最终代码块中访问这两个记录集;我的代码看起来类似于:
295 connection.query(sql1, function selectDb(err, results, fields) {
296 if (err) {
297 throw err;
298 }
299
300 result = results[0];
301 console.log(result);
302
303 console.log(sql2);
304 connection.query(sql2, function selectDb(err, results, fields) {
305 if (err) {
306 throw err;
307 }
309 console.log(result);
问题是var结果保留了第一个记录集,直到第二个查询@304之后,并显示'undefined‘@309 (在以前的显示中设置了记录)。
我不知道如何将第一个记录集值传递给内部代码async code block @304;尝试将result作为参数添加;
304 connection.query(sql2, function selectDb(err, results, fields, result) {
结果仍未定义@309
感谢你的帮助。
发布于 2013-08-16 02:18:25
?//变量sql1,sql2需要在下面的代码之前定义( connection.query(sql1,function(err,results1,fields1) { 295.1 var result;//不要让result成为全局的296If (err) { 297抛出错误;298 }299300Result= results1;301 console.log( result );302 303 console.log(sql2);304 connection.query(sql2,function(err,results2,fields2) { 305 if (err) { 306 throw err;307 } 309 console.log(result);310 console.log(results1);311 console.log(results2);312 });313 });
发布于 2013-08-16 03:40:02
将变量的名称从result改为app;现在起作用了;标签‘result’一定有什么神奇之处;使用了mysql.Connection。
https://stackoverflow.com/questions/18264297
复制相似问题