SyncManager: register() method
{{APIRef("Background Sync")}} {{AvailableInWorkers}}
The register() method of the {{domxref("SyncManager")}} interface registers a synchronization event, triggering a {{domxref("ServiceWorkerGlobalScope.sync_event", "sync")}} event inside the associated service worker as soon as network connectivity is available.
Syntax
register(tag)
Parameters
tag- : An identifier for this synchronization event. This will be the value of the
tagproperty of the{{domxref("SyncEvent")}}that gets passed into the service worker’s{{domxref("ServiceWorkerGlobalScope.sync_event", "sync")}}event handler.
- : An identifier for this synchronization event. This will be the value of the
Return value
A {{jsxref("Promise")}} that resolves to {{jsxref("undefined")}} .
Exceptions
InvalidStateError{{domxref("DOMException")}}- : Thrown if current service worker is not active.
NotAllowedError{{domxref("DOMException")}}- : Thrown if background sync has been disabled by the user.
Examples
The following asynchronous function registers a background sync from a browsing context:
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
{{Specifications}}
Browser compatibility
{{Compat}}