files/en-us/web/api/serviceworkerglobalscope/sync_event/index.md
{{APIRef("Background Sync")}}{{SecureContext_Header}}{{AvailableInWorkers("service")}}
The sync event of the {{domxref("ServiceWorkerGlobalScope")}} interface is fired when the page (or worker) that registered the event with the {{domxref('SyncManager')}} is running and as soon as network connectivity is available.
This event is not cancelable and does not bubble.
Use the event name in methods like {{domxref("EventTarget.addEventListener", "addEventListener()")}}, or set an event handler property.
addEventListener("sync", (event) => { })
onsync = (event) => { }
A {{domxref("SyncEvent")}}. Inherits from {{domxref("ExtendableEvent")}} and {{domxref("Event")}}.
{{InheritanceDiagram("SyncEvent")}}
Inherits properties from its ancestor, {{domxref("ExtendableEvent")}} and {{domxref("Event")}}.
SyncEvent.true if the user agent will not make further synchronization attempts after the current attempt.The following example shows how to respond to a sync event in the service worker.
self.addEventListener("sync", (event) => {
if (event.tag === "sync-messages") {
event.waitUntil(sendOutboxMessages());
}
});
You can also set up the event handler using the onsync property:
self.onsync = (event) => {
// …
};
{{Specifications}}
{{Compat}}