WorkerGlobalScope:fetch() 方法

基线 广泛可用

此功能已经完善,并且可以在许多设备和浏览器版本中使用。它自以下时间起在浏览器中可用: 2017 年 3 月.

注意:此功能仅在Web 工作线程中可用。

fetch()WorkerGlobalScope 接口的方法,它开始从网络获取资源的过程,并返回一个 promise,该 promise 在响应可用时被 fulfilled。

该 promise 解析为表示对您的请求的响应的 Response 对象。

只有在请求失败时,例如,由于请求 URL 格式错误或网络错误,fetch() promise 才会被 rejected。如果服务器返回指示错误的 HTTP 状态代码 (404504 等),则 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 对象。

返回值

解析为 Response 对象的 Promise

异常

AbortError DOMException

由于调用了 AbortController abort() 方法而导致请求被中止。

NotAllowedError DOMException

如果 Topics API 的使用被 browsing-topics 权限策略 明确禁止,并且使用 browsingTopics: true 发出了 fetch() 请求,则会抛出此异常。

TypeError

当无法执行 fetch 操作时发生的错误。有关此错误可能发生的原因列表,请参阅 Window.fetch() 异常。

示例

请参阅 fetch() 以获取示例。

规范

规范
Fetch 标准
# fetch-method

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅