请求:clone() 方法

基线 广泛可用

此功能已得到良好建立,并在许多设备和浏览器版本上都能正常运行。它已在所有浏览器中可用,自 2017 年 3 月.

clone() 方法是 Request 接口的方法,它创建当前 Request 对象的副本。

与底层的 ReadableStream.tee API 类似,克隆的 Responsebody 将以更快的两个主体使用者之间的速率来发出反压信号,未读数据将内部排队到使用更慢的 body 上,没有任何限制或反压。在您从流中构造 Request 然后 clone 它时要注意这一点。

如果请求体已被使用,clone() 将抛出一个 TypeError。实际上,clone() 存在的首要原因是允许多次使用主体对象(当它们是单次使用时)。

如果您打算修改请求,您可能更喜欢使用 Request 构造函数。

语法

js
clone()

参数

无。

返回值

一个 Request 对象,它是对调用 clone()Request 的完全复制。

示例

在以下代码片段中,我们使用 Request() 构造函数创建了一个新的请求(对于与脚本位于同一目录的图像文件),然后克隆了该请求。

js
const myRequest = new Request("flowers.jpg");
const newRequest = myRequest.clone(); // a copy of the request is now stored in newRequest

规范

规范
Fetch 标准
# ref-for-dom-request-clone①

浏览器兼容性

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

另请参阅