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.