JavaScript
1router.get('/question', (req, res) => { 2 (async () => { 3 const fetchedQuestion = await fetchQuestion(); //データを取得する非同期処理 4 const strId = fetchedQuestion._id.toString(); 5 res.redirect(`/question/${strId}`); 6 })(); 7});
上のような非同期処理をasync awaitを使う代わりに、複数のミドルウェア関数を使って書き換えたいです。
JavaScript
1router.get('/question', (req, res, next) => { 2 const fetchedQuestion = fetchQuestion(); 3 next(); 4}, (req, res) => { 5 const strId = fetchedQuestion._id.toString(); 6 res.redirect(`/question/${strId}`); 7});
このように書いてみたのですが、スコープが異なるためfetchedQuestion
を次のミドルウェア関数で受け取ることができません。next関数に引数として渡すのでしょうか?その場合受け取り方がわかりませんでした。
理解が不十分な点が多いかと思いますが、ご教授いただけると嬉しいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。