この関数を取得したい if(thereIsSomeError) //それ以上の実行を停止します。たとえば、ミドルウェアまたはコールバックで何らかのエラーが発生した場合、(app.route内の)コールバックとミドルウェアをそれ以上実行したくありません。
このコードを試してみました。しかし、私は依然として req.err
が真実であると考えています。この問題はどうすれば解決できますか?
リーリー
P粉1988143722024-01-03 10:40:23
まず第一に、ミドルウェアはリクエストの後ではなく、リクエストの前に実行されます。 POST エンドポイントで req.err = true
を設定すると、それは TRUE のままになります。これは、データベース呼び出しが確実にエラーを返すことを意味します。
2 番目に、ミドルウェア呼び出しを正常に中止するには、return
を使用します。関数を返すとすぐに停止します。 return next(err)
を選択してエラーをハンドラーに転送するか、return res.send('Error')
を使用して応答ミドルウェアを終了するかを選択できます。