Я пытаюсь создать метод, который я могу вызвать из всех частей моего экспресс-приложения, я просто передаю значение этому методу, и он ищет через mongodb, используя moongose, чтобы узнать, существует ли пользователь, а затем он возвращает логический результат.node js callback as var
function findUserExists(name){
User.findOne({ "name": name }, function(err, user) {
if (user){
console.log("user exits");
return true;
}
else{
console.log("user not exits");
return false; }
});
Теперь, когда я называю это другим способом, таким образом, он не возвращает логическое значение во времени.
if (findUserExists("username")){
// redirect to dashboard
console.log("user exits");
res.redirect('/dashboard');
}
else {
// redirect to sign up page
console.log("user must sign up");
res.redirect('/signup');
}
Таким образом, в этом случае другие функции запуска перед тем, как логическое значение из findUserExists(), мой вопрос, как я могу сделать эту функцию, возвращающую значение перед другими функциями запуска, таким образом, что я могу позвонить это в состоянии IF или даже в таком виде var
var exists = findUserExists(name);
Можете ли вы гнездо "другие функции" в, если заявление? или вызвать их из вашего if (findUserExists («имя пользователя»)) { // функция для вызова } – Sulot
@Sulot это только оператор маршрутизации, чтобы знать, существует ли пользователь, а затем перенаправлять на страницу панели мониторинга, если не перенаправлять на регистрацию страница, я обновил свой вопрос –
Возможный дубликат [Как вернуть ответ от асинхронного вызова?] (http://stackoverflow.com/questions/14220321/how-do-return-the-response-from- а-асинхронный вызов) – JJJ