PeriodicSyncEvent

Draft
This page is not complete.

The PeriodicSyncEvent interface of the Web Periodic Background Synchronization API provides a way to run tasks in the service worker with network connectivity.

An instance of this event is passed to the ServiceWorkerGlobalScope.onperiodicsync handler. This happens periodically, at an interval greater than or equal to that set in the PeriodicSyncManager.register() method. Other implementation-specific factors such as the user's engagement with the site decide the actual interval.

Constructor

PeriodicSyncEvent.PeriodicSyncEvent()
Creates a new PeriodicSyncEvent object. This constructor is not typically used. The browser creates these objects itself and provides them to ServiceWorkerGlobalScope.onperiodicsync callback.

Properties

PeriodicSyncEvent.tag Read only
Returns the developer-defined identifier for this PeriodicSyncEvent. Multiple tags can be used by the web app to run different periodic tasks at different frequencies.

Methods

Inherits methods from its parent ExtendableEvent.

Examples

The following example shows how to respond to a periodic sync event in the service worker.

self.addEventListener('periodicsync', event => {
  if (event.tag == 'get-latest-news') {
    event.waitUntil(fetchAndCacheLatestNews());
  }
});

fetchAndCacheLatestNews is a developer defined function.

Specifications

Specification Status Comment
Web Periodic Background Synchronization
The definition of 'PeriodicSyncEvent' in that specification.
Working Draft Initial definition.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
PeriodicSyncEvent
ExperimentalNon-standard
Chrome Full support 80Edge Full support 80Firefox No support NoIE No support NoOpera Full support 67Safari No support NoWebView Android Full support 80Chrome Android Full support 80Firefox Android No support NoOpera Android Full support 57Safari iOS No support NoSamsung Internet Android Full support 13.0
PeriodicSyncEvent() constructor
ExperimentalNon-standard
Chrome Full support 80Edge Full support 80Firefox No support NoIE No support NoOpera Full support 67Safari No support NoWebView Android Full support 80Chrome Android Full support 80Firefox Android No support NoOpera Android Full support 57Safari iOS No support NoSamsung Internet Android Full support 13.0
tag
ExperimentalNon-standard
Chrome Full support 80Edge Full support 80Firefox No support NoIE No support NoOpera Full support 67Safari No support NoWebView Android Full support 80Chrome Android Full support 80Firefox Android No support NoOpera Android Full support 57Safari iOS No support NoSamsung Internet Android Full support 13.0

Legend

Full support  
Full support
No support  
No support
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.

See also