Background Sync
// Register your service worker:
navigator.serviceWorker.register('/sw.js’);
// Then later, request a one-off sync:
navigator.serviceWorker.ready.then(function(swRegistration) {
return swRegistration.sync.register('myFirstSync’); // 多次注册也只有一次同步事件
});
// sw.js 联网触发 // app 不需要打开
self.addEventListener('sync', function(event) {
if (event.tag == 'myFirstSync') {
event.waitUntil(doSomeStuff()); // Promise 完成算同步完成
}
});
定期同步:可以定期触发同步事件,即使在浏览器关闭的情况下,从而执行操作,例如定期同步(get/post)消息,以便将来离线也能看到新消息。