SyncManager: register() method

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Note: This feature is available in Web Workers.

The register() method of the SyncManager interface registers a synchronization event, triggering a sync event inside the associated service worker as soon as network connectivity is available.

Syntax

js
register(tag)

Parameters

tag

An identifier for this synchronization event. This will be the value of the tag property of the SyncEvent that gets passed into the service worker's sync event handler.

Return value

A Promise that resolves to undefined.

Exceptions

InvalidStateError DOMException

Thrown if current service worker is not active.

NotAllowedError DOMException

Thrown if background sync has been disabled by the user.

Examples

The following asynchronous function registers a background sync from a browsing context:

js
async function syncMessagesLater() {
  const registration = await navigator.serviceWorker.ready;
  try {
    await registration.sync.register("sync-messages");
  } catch {
    console.log("Background Sync could not be registered!");
  }
}

Specifications

Specification
Web Background Synchronization
# dom-syncmanager-register

Browser compatibility

BCD tables only load in the browser