TypeError: Cannot read property 'register' of undefined
Эта ошибка не связана с periodSyn c, она связана с регистрацией Service Worker.
Так что более систематический c подход, который является кросс-браузерным, будет использовать API выборки https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API
Для этого
self.addEventListener('THE_EVENT_TO_BE_USED', event => {
setInterval(function() {
try {
const url = 'https://randomuser.me/api';
// The data we are going to send in our request
let data = {
name: 'Sara'
}
// The parameters we are gonna pass to the fetch function
let fetchData = {
method: 'POST',
body: data,
headers: new Headers()
}
const registration = await navigator.serviceWorker.ready;
registration.backgroundFetch.fetch(url, fetchData).then(function(data) {
// Handle response you get from the server
}).catch(function(error) {
// If there is any error you will catch them here
});
} catch (err) {
console.error(err);
}
}, 60000);
});