WorkerGlobalScope: fetch() メソッド
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.
メモ: この機能はウェブワーカー内でのみ利用可能です。
WorkerGlobalScope
インターフェイスの fetch()
メソッドは、ネットワークからリソースをフェッチする処理を開始し、レスポンスが利用可能になると解決するプロミスを返します。
このプロミスは、リクエストに対するレスポンスを表す Response
オブジェクトで解決します。
fetch()
のプロミスは、リクエストを送る URL の書式が不正だったり、ネットワークエラーが発生したりなど、リクエストに失敗したときのみ拒否されます。fetch()
のプロミスは、サーバーがエラーを表す HTTP ステータスコード (404
や 504
など) で応答した場合は拒否 されません。かわりに、then()
のハンドラーは Response.ok
や Response.status
プロパティをチェックしなければなりません。
fetch()
メソッドは、取得しようとしているリソースのディレクティブではなく、Content Security Policy の connect-src
ディレクティブにより制御されます。
メモ: fetch()
メソッドの引数は、Request()
コンストラクターの引数と同一です。
構文
fetch(resource)
fetch(resource, options)
引数
resource
-
フェッチしたいリソースを定義します。以下を指定できます。
- フェッチしたいリソースの URL を表す文字列または文字列化子を持つその他のオブジェクト (
URL
オブジェクトなど)。この URL には、ベース URL (ウィンドウコンテキストでは文書のbaseURI
、ワーカーコンテキストではWorkerGlobalScope.location
) からの相対 URL も使用できます。 Request
オブジェクト
- フェッチしたいリソースの URL を表す文字列または文字列化子を持つその他のオブジェクト (
options
省略可-
リクエストに適用したいカスタム設定をすべて格納した
RequestInit
オブジェクトです。
返値
例外
AbortError
DOMException
-
リクエストは
AbortController
のabort()
メソッドの呼び出しにより中止されました。 NotAllowedError
DOMException
-
Topics API の使用が
browsing-topics
機能ポリシーにより明示的に禁止されているとき、fetch()
によるリクエストがbrowsingTopics: true
を指定して行われると投げられます。 TypeError
-
フェッチ操作を行えなかったときのエラーです。このエラーが起こりうる理由の一覧は、
Window.fetch()
の例外を参照してください。
例
例は fetch()
を参照してください。
仕様書
Specification |
---|
Fetch Standard # fetch-method |
ブラウザーの互換性
BCD tables only load in the browser