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 2017年3月.
* Some parts of this feature may have varying levels of support.
WorkerGlobalScope 接口的 fetch() 方法用于发起获取资源的请求,它会返回一个会在请求响应后兑现的 promise。
该 promise 会兑现一个表示请求响应的 Response 对象。
当请求失败(例如,因为请求 URL 的格式错误或网络错误)时,fetch() 的 promise 才会被拒绝。fetch() 的 promise 不会因为服务器响应表示错误的 HTTP 状态码(404、504,等)而被拒绝。因此,then() 处理器必须检查 Response.ok 和/或 Response.status 属性。
fetch() 方法由内容安全策略的 connect-src 指令(而不是它查询的资源的指令)控制。
备注:
fetch() 方法的参数与 Request() 构造函数是一样的。
语法
fetch(resource)
fetch(resource, options)
参数
resource-
定义你想要获取的资源。可以是:
- 一个字符串或任何其他具有字符串化器的对象(包括
URL对象),提供你想要获取的资源的 URL。URL 可以是相对于基础 URL 的,基础 URL 是窗口上下文中文档的baseURI或者 worker 上下文中的WorkerGlobalScope.location。 - 一个
Request对象。
- 一个字符串或任何其他具有字符串化器的对象(包括
options可选-
一个包含你想要应用到请求上的任何自定义设置的
RequestInit对象。
返回值
异常
AbortErrorDOMException-
请求被
AbortController的abort()方法调用所终止。 NotAllowedErrorDOMException-
如果 Topics API 的使用被
browsing-topics权限策略明确禁止,且fetch()请求中包含browsingTopics: true,则会抛出此异常。 TypeError-
当获取操作无法执行时抛出的错误。请参阅
Window.fetch()的异常,以了解可能导致此错误的原因。
示例
参见 fetch() 以获取示例。
规范
| Specification |
|---|
| Fetch> # fetch-method> |
浏览器兼容性
Loading…