WorkerGlobalScope:fetch() 方法
注意:此功能仅在Web 工作线程中可用。
fetch()
是 WorkerGlobalScope
接口的方法,它开始从网络获取资源的过程,并返回一个 promise,该 promise 在响应可用时被 fulfilled。
该 promise 解析为表示对您的请求的响应的 Response
对象。
只有在请求失败时,例如,由于请求 URL 格式错误或网络错误,fetch()
promise 才会被 rejected。如果服务器返回指示错误的 HTTP 状态代码 (404
、504
等),则 fetch()
promise 不会 被 rejected。相反,then()
处理程序必须检查 Response.ok
和/或 Response.status
属性。
fetch()
方法受 内容安全策略 的 connect-src
指令控制,而不是它正在检索的资源的指令控制。
注意:fetch()
方法的参数与 Request()
构造函数的参数相同。
语法
js
fetch(resource)
fetch(resource, options)
参数
resource
-
这定义了您希望获取的资源。它可以是
- 字符串或任何其他具有 字符串化器 的对象(包括
URL
对象),该对象提供要获取的资源的 URL。该 URL 可以相对于基本 URL,基本 URL 在窗口上下文中是文档的baseURI
,或在工作线程上下文中是WorkerGlobalScope.location
。 Request
对象。
- 字符串或任何其他具有 字符串化器 的对象(包括
options
可选-
包含您想要应用于请求的任何自定义设置的
RequestInit
对象。
返回值
异常
AbortError
DOMException
-
由于调用了
AbortController
abort()
方法而导致请求被中止。 NotAllowedError
DOMException
-
如果 Topics API 的使用被
browsing-topics
权限策略 明确禁止,并且使用browsingTopics: true
发出了fetch()
请求,则会抛出此异常。 TypeError
-
当无法执行 fetch 操作时发生的错误。有关此错误可能发生的原因列表,请参阅
Window.fetch()
异常。
示例
请参阅 fetch()
以获取示例。
规范
规范 |
---|
Fetch 标准 # fetch-method |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。