【发布时间】:2019-01-28 16:04:11
【问题描述】:
好的,所以我正在尝试制作一个使用后台同步的 Angular 7 PWA。
我可以在 Chromium 的开发工具中触发同步事件,但是当我移除以太网电缆并将其重新插入时它不会触发。
我原本以为我的 service worker 文件很奇怪,所以我添加了这个:https://stackoverflow.com/a/50414028/9978023,奇怪的是它在 Firefox 中有效,但在 Chromium 中无效。所以使用它我可以触发同步事件要调用的相同函数。但这不是一个很好的解决方案。
self.addEventListener('sync', function (event) {
console.log('I heard a sync event. Sending Posts to server', event);
event.waitUntil(sendPostsToServer()
.then(res => {
console.log(res);
})
.catch(e=>{console.log(e)}));
});
async function sendPostsToServer() {
// POST to server
}
service-worker.js
我做错了什么?为什么我重新连接到 Internet 时没有触发同步事件?
【问题讨论】:
标签: angular service-worker progressive-web-apps background-sync