0
相關帖子已經存在,但我無法弄清楚如何將原則應用於我的情況。需要回撥的價值可在整個文件中訪問
我需要函數返回在回調中修改的returnVal(顯然不工作 - 每次都返回false)。
任何想法?
function login(user){
var returnVal = false;
User.findOne({username: user.username}, function (err, res){
res.comparePassword(user.password, function(err, isMatch) {
if (err) throw err;
if(isMatch){
returnVal = true;
}
});
});
return returnVal;
}
謝謝!
請參閱http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call – guest271314
停止嘗試解決錯誤的問題。而不是試圖返回你需要的值(它是異步加載的),將需要該值的函數作爲參數傳遞給'function login(user,callback){...}'並將其用作回調函數,如'回調(returnVal)'內部的函數(err,isMatch){...}'結尾。 –