WorkerGlobalScope: fetch() method
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.
The fetch()
method of the WorkerGlobalScope
interface starts the process of fetching a resource from the network, returning a promise that is fulfilled once the response is available.
The promise resolves to the Response
object representing the response to your request.
A fetch()
promise only rejects when the request fails, for example, because of a badly-formed request URL or a network error.
A fetch()
promise does not reject if the server responds with HTTP status codes that indicate errors (404
, 504
, etc.).
Instead, a then()
handler must check the Response.ok
and/or Response.status
properties.
The fetch()
method is controlled by the connect-src
directive of Content Security Policy rather than the directive of the resources it's retrieving.
Note: The fetch()
method's parameters are identical to those of the Request()
constructor.
Syntax
fetch(resource)
fetch(resource, options)
Parameters
resource
-
This defines the resource that you wish to fetch. This can either be:
- A string or any other object with a stringifier — including a
URL
object — that provides the URL of the resource you want to fetch. The URL may be relative to the base URL, which is the document'sbaseURI
in a window context, orWorkerGlobalScope.location
in a worker context. - A
Request
object.
- A string or any other object with a stringifier — including a
options
Optional-
A
RequestInit
object containing any custom settings that you want to apply to the request.
Return value
Exceptions
AbortError
DOMException
-
The request was aborted due to a call to the
AbortController
abort()
method. NotAllowedError
DOMException
-
Thrown if use of the Topics API is specifically disallowed by a
browsing-topics
Permissions Policy, and afetch()
request was made withbrowsingTopics: true
. TypeError
-
An error when the fetch operation could not be performed. See
Window.fetch()
exceptions for a list of reasons why this error can occur.
Examples
See fetch()
for examples.
Specifications
Specification |
---|
Fetch Standard # fetch-method |
Browser compatibility
BCD tables only load in the browser