function liveFeed_update() {
var symbol_in_table = "SELECT count (*) as total FROM livedata
wherescript_name = '"+s_symbol_script+"'";
con.query(symbol_in_table, function (err, result) {
if (err) {
throw err;
}
else {
num_row = + result[0].total;
console.log("Number of Rows in inner level:",+ num_row);
}
});
console.log("Number of Rows in outer level:",+ num_row);
}
js首先执行外部控制台日志,然后执行内部日志。结果我没有得到正确的结果。
但是我想先执行sql查询,然后根据结果继续。
1条答案
按热度按时间zqry0prt1#
请记住,node.js是异步的,这意味着如果使用同步(阻塞)代码,代码将无序运行,这与您的预期相反。
如果你需要
num_row
递增并可靠地返回,您必须将其与以下其中一个链接在一起:回调、尾随then
或使用async
/await
.我鼓励你用承诺:
回调也可以做到这一点,但随后会变得棘手,这通常取决于异步库。
如果你能用
async
/await
native node.js的特点是更简单,使异步代码更像传统的同步代码: