tencent cloud

Tencent Cloud EdgeOne

FetchEvent

Baixar
Modo Foco
Tamanho da Fonte
Última atualização: 2026-10-15 18:20:38
Traduzido por IA
FetchEventは、あらゆる受信HTTPリクエストイベントを表します。エッジ関数はfetchイベントリスナーを登録することで、HTTPリクエストの処理を実現します。

説明

エッジ関数では、addEventListenerを使用してfetchイベントリスナーを登録し、HTTPリクエストイベントFetchEventを生成して、HTTPリクエストの処理を実現します。
注意:
FetchEventオブジェクトを直接構築することはサポートされていません。addEventListenerを使用してfetchイベントを登録し、eventオブジェクトを取得してください。
// eventはFetchEventオブジェクトです
addEventListener('fetch', (event) => {
event.respondWith(new Response('hello world!'));
});

属性

clientId

// event.clientId
readonly clientId: string;
エッジ関数が各リクエストに割り当てるid識別子です。

request

// event.request
readonly request: Request;
クライアントが開始したHTTPリクエストオブジェクトです。詳細はRequestを参照してください。

方法

respondWith

event.respondWith(response: Response | Promise<Response>): void;
エッジ関数はクライアントのリクエストを引き受け、このメソッドを使用してカスタムレスポンスコンテンツを返します。
注意:
イベントリスナーaddEventListenerのfetchイベントコールバックでは、インターフェースevent.respondWith()を呼び出してクライアントに応答する必要があります。このインターフェースを呼び出さない場合、エッジ関数は現在のリクエストをオリジンサーバーに転送します。

パラメータ

パラメータ名
タイプ
必須
説明
response
Response | Promise<Response>
はい
クライアントHTTPリクエストのレスポンスです。

waitUntil

event.waitUntil(task: Promise<any>): void;
エッジ関数にPromiseの完了を待つように通知するために使用され、イベント処理のライフサイクルを延長できます。

パラメータ

パラメータ名
タイプ
必須
説明
task
Promise<Response>
はい
完了を待つPromiseタスク。

passThroughOnException

event.passThroughOnException(): void;
ランタイム時のレスポンス異常情報を防ぐために使用されます。関数コードが未処理の例外をスローした場合、エッジ関数はこのリクエストをオリジンサーバーに転送し、サービスの可用性を向上させます。

サンプルコード

インターフェースevent.respondWithを呼び出していない場合、エッジ関数は現在のリクエストをオリジンサーバーに転送します。
function handleRequest(request) {
return new Response('Edge Functions, Hello World!');
}

addEventListener('fetch', event => {
const request = event.request;
リクエストurlに文字列/ignore/が含まれている場合、エッジ関数は現在のリクエストをオリジンサーバーに転送します。
if (request.url.indexOf('/ignore/') !== -1) {
// インターフェースevent.respondWithを呼び出していない場合
return;
}

// エッジ関数では、カスタムコンテンツがクライアントに応答します。
event.respondWith(handleRequest(request));
});
関数コードが未処理の例外をスローした場合、エッジ関数はこのリクエストをオリジンサーバーに転送します。
addEventListener('fetch', event => {
// 関数コードが未処理の例外をスローした場合、エッジ関数はこのリクエストをオリジンサーバーに転送します。
event.passThroughOnException();
throw new Error('Throw error');
});

関連参考

Ajuda e Suporte

Esta página foi útil?

comentários