Passport.jsを使ったログイン認証機能を実装する際に、エラーコールバックからasync awaitに書き換えたのですが、ログイン時にエラーとなってしまいます。(書き換え前は正常にログインできます)
間違っている箇所があればご指摘いただけると嬉しいです。
JavaScript
1//エラーコールバック 2app.post('/login', (req, res) => { 3 const user = new User(req.body); 4 5 req.login(user, (err) => { 6 if (err) { 7 res.status(400).send(); 8 } else { 9 passport.authenticate('local')(req, res, () => { 10 res.render('home'); 11 }); 12 } 13 }); 14}); 15
JavaScript
1//async await 2app.post('/login', async (req, res) => { 3 const user = new User(req.body); 4 5 try { 6 await req.login(user); 7 await passport.authenticate('local')(req, res, () => { 8 res.render('home'); 9 }); 10 } catch (e) { 11 res.status(400).send(); 12 } 13}); 14
###追記
エラーをログ出力したところ、req#login requires a callback function
とありました。
このような場合は書き換えできないということになるのでしょうか?
回答1件
あなたの回答
tips
プレビュー