MENU
Service Worker- PeriodicSyncManager
The PeriodicSyncManager interface provides a way to register tasks to be run in a service worker at periodic intervals with network connectivity.
navigator.serviceWorker.register('service-worker.js');
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!');
}
}
navigator.serviceWorker.register('service-worker.js');
navigator.serviceWorker.ready.then(registration => {
registration.periodicSync.getTags().then(tags => {
if (tags.includes('fetch-news'))
skipDownloadingLatestNewsOnPageLoad();
});
});
navigator.serviceWorker.ready.then(registration => {
registration.periodicSync.unregister('fetch-news');
});
// service-worker.js
self.addEventListener('periodicsync', event => {
if (event.tag == 'fetch-news') {
event.waitUntil(fetchAndCacheLatestNews());
}
});