FetchController

这篇翻译不完整。请帮忙从英语翻译这篇文章

草案
本页尚未完工.

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

FetchController 所述的接口提取API代表一个控制器对象,允许你控制一个或多个取指令请求。

您可以FetchController使用FetchController.FetchController()构造函数创建一个新对象使用a进行与提取请求的通信FetchSignal

Constructor

FetchController.FetchController()
创建一个新的FetchController对象实例。

Properties

FetchController.signal 只读
返回一个FetchSignal对象实例,可以用来with/control一个提取请求进行通信。

Methods

FetchController.abort()
在提取请求完成之前中止请求。

Examples

在下面的代码片段中,我们创建一个新的FetchController对象,获取它signal,然后通过其对象的signal参数将该信号提供给fetch请求init以便控制器可以控制它。稍后我们在取消按钮上指定一个事件监听器,以便当按钮被点击时,我们使用中止请求请求FetchController.abort()

var controller = new FetchController();
var signal = controller.signal;

downloadBtn.addEventListener('click', function() {
  fetch(url, {signal}).then( ... ) // do something with the response
});

cancelBtn.addEventListener('click', function() {
  controller.abort();
});

你可以在github上找到FetchController的演示文稿,(请参阅源代码实例)。

Specifications

Not part of a specification yet.

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support

未实现

未实现 未实现[1] 未实现

未实现

未实现
Feature Android Android Webview Edge Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile Chrome for Android
Basic support 未实现 未实现 未实现 未实现[1] 未实现 未实现 未实现 未实现

[1] Hidden behind a preference in 55+ Nightly. In about:config, you need to create two new boolean prefs — dom.fetchObserver.enabled and dom.fetchController.enabled — and set the values of both to true.

See also

文档标签和贡献者

 此页面的贡献者: wuCrio
 最后编辑者: wuCrio,