メインコンテンツまでスキップ

ライフサイクルとフック

Frourio におけるライフサイクル

Frourio と frourio-express のどちらも、fastify に似た形式のフックを提供しています。

全体のライフサイクルは下図のようになっていて、onRequest, preParsing, preValidation, preHandler などのフックを定義できます。


フックの定義方法を探していますか?

フックの定義方法はルーティングページにあります。以下のリンクから defineController()defineHooks() について参照してください。

オブジェクト ServerHooks

{
  [(フックの名称)]: HooksHandler or HooksHandler[],
}

フックの名称を key とし、HooksHandler または HooksHandler[] を value とするオブジェクト。

有効なフックの名称:

  • onRequest
  • preParsing
  • preValidation
  • preHandler

関数 HooksHandler

引数の型

done はライフサイクルを続行する関数です。

注意

async/await を使用しているときや Promise を返しているときは done コールバックを使用できません。このような状況で done コールバックを呼び出すと、ハンドラを重複して呼び出すなど、予期しない動作が発生する可能性があります。

ref. Hooks - Fastify