PeriodicSyncManager: register() method
{{APIRef("Periodic Background Sync")}} {{SeeCompatTable}} {{AvailableInWorkers}}
The register() method of the
{{domxref("PeriodicSyncManager")}} interface registers a periodic sync request with the
browser with the specified tag and options. It returns a {{jsxref('Promise')}} that
resolves when the registration completes.
Syntax
register(tag, options)
Parameters
tag- : A unique
{{jsxref('String')}}identifier.
- : A unique
options{{optional_inline}}- : An
{{jsxref('Object')}}containing the following optional data:minInterval- : The minimum interval time, in milliseconds, at which the periodic sync should occur.
- : An
Return value
Returns a {{jsxref("Promise")}} that resolves with {{jsxref('undefined')}} .
Exceptions
InvalidStateError{{domxref("DOMException")}}- : Returned if there is no active
{{domxref('ServiceWorker')}}present.
- : Returned if there is no active
NotAllowedError{{domxref("DOMException")}}- : Returned if permission for background periodic sync is not granted.
InvalidAccessError{{domxref("DOMException")}}- : Returned if the active window is not the main window (not of
auxiliaryortop-leveltype).
- : Returned if the active window is not the main window (not of
Examples
The following asynchronous function registers a periodic background sync at a minimum interval of one day from a browsing context:
async function registerPeriodicNewsCheck() {
const registration = await navigator.serviceWorker.ready;
try {
await registration.periodicSync.register("fetch-news", {
minInterval: 24 * 60 * 60 * 1000,
});
} catch {
console.log("Periodic Sync could not be registered!");
}
}
Specifications
{{Specifications}}
Browser compatibility
{{Compat}}