Request: keepalive property

The keepalive read-only property of the Request interface contains the request's keepalive setting (true or false), which indicates whether the browser will keep the associated request alive if the page that initiated it is unloaded before the request is complete.

This enables a fetch() request to, for example, send analytics at the end of a session even if the user navigates away from or closes the page. This has some advantages over using Navigator.sendBeacon() for the same purpose, including allowing you to use HTTP methods other than POST, customize request properties, and access the server response via the fetch Promise fulfillment. It is also available in service workers.

Value

A boolean value indicating the keepalive status of the request.

Examples

Create a Request with keepalive

In the following snippet, we create a new request using the Request() constructor with keepalive set to true, then save the keepalive value of the request in a variable:

js
const options = {
  keepalive: true,
};

const myRequest = new Request("flowers.jpg", options);
let myKeepAlive = myRequest.keepalive; // true

Specifications

Specification
Fetch
# ref-for-dom-request-keepalive②

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
keepalive

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support

See also