私は私のエクスプレスアプリのすべての部分から呼び出すことができるメソッドを作成しようとしています、私は単にこのメソッドに値を渡し、moongoseを使ってmongodbを検索して、結果としてブール値。ノードjsコールバックは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);
ことができれば文のネスト "その他の機能"? ( // を呼び出す関数) – Sulot
@Sulotこれは、ユーザが存在しているかどうかを知ってから、ダッシュボードページにリダイレクトして、登録するようにリダイレクトしていない場合にのみ行うことができます私の質問を更新しました –
[非同期呼び出しからの応答を返すにはどうしたらいいですか?](http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from- an-asynchronous-call) – JJJ