「検証」関数を渡す必要があるライブラリを使用しています。この関数では、いくつかの入力を検証し、それが成功したか失敗したtrue
かを返す必要がありfalse
ます。
問題は、この検証関数のデータベースにユーザーが存在するかどうかを確認する必要があり、Mongoose がその結果でコールバックを呼び出すことです。コールバック内にある場合return
、検証関数ではなくコールバック関数から返されます。
...
validate: function (username) {
User.findOne({ username: username }, function (err, user) {
if (user)
// User exists so we should return false from the validate function
else
// User does not exist so we should return true from validate.
});
}
これを解決するために非同期ライブラリを使用しようとしていますが、非同期は完了時にコールバックも呼び出します!