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