検索

ホームページ  >  に質問  >  本文

Express ミドルウェアのさらなる実行を防ぐ方法

この関数を取得したい if(thereIsSomeError) //それ以上の実行を停止します。たとえば、ミドルウェアまたはコールバックで何らかのエラーが発生した場合、(app.route内の)コールバックとミドルウェアをそれ以上実行したくありません。 このコードを試してみました。しかし、私は依然として req.err が真実であると考えています。この問題はどうすれば解決できますか? リーリー


P粉674999420P粉674999420332日前439

全員に返信(1)返信します

  • P粉198814372

    P粉1988143722024-01-03 10:40:23

    まず第一に、ミドルウェアはリクエストの後ではなく、リクエストの前に実行されます。 POST エンドポイントで req.err = true を設定すると、それは TRUE のままになります。これは、データベース呼び出しが確実にエラーを返すことを意味します。

    2 番目に、ミドルウェア呼び出しを正常に中止するには、return を使用します。関数を返すとすぐに停止します。 return next(err) を選択してエラーをハンドラーに転送するか、return res.send('Error') を使用して応答ミドルウェアを終了するかを選択できます。

    返事
    0
  • キャンセル返事