The clone()
method of the Request
interface creates a copy of the current Request
object.
clone()
throws a TypeError
if the response Body
has already been used. In fact, the main reason clone()
exists is to allow multiple uses of Body
objects (when they are one-use only.)
Syntax
var newRequest = request.clone();
Parameters
None.
Return value
A Request
object, which is an exact copy of the Request
that clone()
was called on.
Example
In the following snippet, we create a new request using the
constructor (for an image file in the same directory as the script), then clone the request.Request.Request()
var myRequest = new Request('flowers.jpg'); var newRequest = myRequest.clone(); // a copy of the request is now stored in newRequest
Specifications
Specification | Status | Comment |
---|---|---|
Fetch The definition of 'clone' in that specification. |
Living Standard | Initial definition |
Browser compatibility
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Basic support | 42 41[1] |
(Yes) | 39 (39) 34[1] |
No support |
29 |
No support |
Feature | Android | Edge | Firefox Mobile (Gecko) | Firefox OS (Gecko) | IE Phone | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|---|
Basic support | No support | (Yes) | No support | No support | No support | No support | No support | No support |
[1] This feature is implemented behind a preference.