以下のコードを参照してください。すべてのreturnキーワードを削除すると、関数は引き続き期待どおりに動作し、callback()とコールバック)約束して混ぜ合わせるとき約束の中のreturn callback()とcallback()
誰かが私に説明することができますか?return
はどれですか?
は、今まで実行された関数done()
ですか?
const localLogin = new LocalStrategy(localOptions, (email, password, done) => {
User.find({ where: { email } }).then(user => {
if (!user) {
return done(null, false);
}
return user.validPassword(password, (err, isMatch) => {
if (err) {
return done(err, false);
}
if (!isMatch) {
return done(null, false);
}
return done(null, user);
});
}).catch(err => {
return done(err, false);
});
});
Promiseを 'done()'してもいいですか? –
あなたは本当に 'user.validPassword'メソッドを約束しなければなりません。 – Bergi
いいえ、すべての 'return'キーワードを削除しても、関数は同じ動作をしません。 – Bergi