0Pricing
Sveltejs Academy · レッスン

フックを合成するsequence()

sequence()ヘルパーを使用して、複数のhandle()関数を連結します。

「フックを合成するsequence()」はCoddyKit上の無料Sveltejs Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSveltejs Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Sveltejs Academyコースには全4レッスンが含まれています。

handle の合成

複数のhandleフックは、sequenceを使って1つのチェーンにまとめられます。

sequence のインポート

@sveltejs/kit/hooksからインポートします。

import { sequence } from "@sveltejs/kit/hooks";

関数の合成

各関数は{ event, resolve }を受け取り、Responseを返します。関数は順番に実行されます。

export const handle = sequence(auth, logging, cors);

合成する理由

処理を別々のフックに分けると、各関数の役割が明確になり、再利用しやすくなります。

event の locals を変更する

認証フックがユーザーをlocalsに追加すると、後続のフックから読み取れるようになります。

resolve のチェーン化

各フックがawait resolve(event)を呼び出し、sequenceがそれらを連結します。

条件によるスキップ

フックは、resolveを呼び出さずに早期リターンすることで、処理を短絡できます。

順序が重要

認証はルートハンドラーより前に、ログ記録は最初に、CORSは最後に配置します。

テストのしやすさ

個々のフックに分割すると、それぞれを単独でテストしやすくなります。

パフォーマンス

小さなフックを多数使ってもオーバーヘッドは無視できる程度です。早すぎる最適化より、分かりやすさを優先してください。

実例

認証、i18n、CSP、ログ記録は、sequenceで合成する一般的な本番環境の構成です。

確認問題

sequence()は何を返しますか?

まとめ

@sveltejs/kit/hooksのsequence()を使うと、複数のhandleフックを合成して、処理をきれいに分離できます。

よくある質問

「フックを合成するsequence()」レッスンは無料ですか?

はい。「フックを合成するsequence()」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Sveltejs Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Sveltejs Academyコースには全4レッスンが含まれています。

「フックを合成するsequence()」で何を学びますか?

sequence()ヘルパーを使用して、複数のhandle()関数を連結します。 ブラウザで直接実行するハンズオンコードでSveltejs Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Sveltejs Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのSveltejs Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「フックを合成するsequence()」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このSveltejs Academyレッスンでコードを書いて実行できますか?

はい。すべてのSveltejs Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. handle()フック:リクエストのミドルウェア
  2. サーバーエラーログのhandleError
  3. init()フック
  4. フックを合成するsequence()
← Sveltejs Academyに戻る