【发布时间】:2017-01-20 23:54:24
【问题描述】:
我在理解 node.js 中的异步回调时遇到了问题
这是我的代码:
//userRole is a session value
//capabilities is an array of strings
var check = 0;
capabilities.forEach((index)=> {
connection.query("SELECT * FROM doc_users_role WHERE name = ?
AND " + index + "= 1 ",[userRole], function(err, rows){
if(rows.length == 1){
check++;}
});
})
console.log(check) //returns always 0;
如何以异步方式解决此问题?我需要从位于 foreach 中的回调(connection.query 之一)中更新变量检查...谢谢!
【问题讨论】:
-
看起来您正在异步执行此操作。您作为最后一个参数传递的函数是回调。
标签: mysql node.js asynchronous