0
我写一个简单的脚本来从表中检索密码和node.js中这里验证是脚本节点sqlite3的异步回调
module.exports = {
login: function (email, pass) {
var sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database('test.db');
db.get("SELECT password FROM users WHERE user_email = ?", email, function(err, row) {
if (err !== null) {
console.log("An error has occured");
return "error";
} else if(row.password === pass) {
console.log("success");
return "success";
} else {
console.log("Incorrect password");
return "failure";
}
});
}
};
控制台日志语句时,如果其他情况下是正确的评估。但是返回值是未定义的。 我不明白为什么返回值是未定义的,如果记录正确完成。
可能重复[为什么是我的变量不变后,我修改函数里面? - 异步代码引用](http://stackoverflow.com/questions/23667086/why-is-my-variable-unaltered-after-i-modify-it-inside-of-a-function-asynchron) – 2014-10-12 15:32:18