私が言ったように、引数、ユーザー名、電子メールを持つ関数を作成したいと思います。そのうちの1つがデータベースにある場合、ユーザーは登録できません。関数は、mongooseのdababaseからドキュメントを検索するときに、未定義を返します。
function checkAll(username, email) {
let num = 0;
User.find({}, (err, result) => {
if (err) throw err;
for (let i = 0; i < result.length; i++) {
if (username === result[i].username || email === result[i].email) {
num++;
}
}
db.close();
if (num == 0) {
return true;
}
return false;
});
}
console.log(checkAll("test", "[email protected]"));
私はUser.find()
はそれがコールバックですが、私の質問であることを第二引数を持つ非同期関数であることを知っている:なぜそれはundefinedを返すんの? find
操作のコールバックの前に
非同期関数であり、非同期関数からそのように返ることができないため、 – MinusFour