我在服务工作者中有这个用于同步的监听器:
self.addEventListener('sync', function(event) {
if (event.tag === 'button-click') {
console.log('SYNC for button-click triggered!');
console.log(event);
event.waitUntil(
fetch('https://localhost/')
.then(function(response) {
return response;
})
.then(function(html) {
console.log('Fetching successful');
console.log(html);
})
.catch(function(err) {
console.log('Fetching failed');
console.log(err);
})
);
}
});
所以当我点击按钮时 - console.logs和fetch工作正常。
问题是当我关闭连接并单击按钮时 - console.logs和fetch会立即被触发again
。
他们不应该等待页面再次连接并then
执行console.logs和fetch吗?
答案 0 :(得分:0)
巨型跛脚问题:D
我使用offline
中的Chrome
复选框...似乎是NOT WORKING
。
所以,当我开始断开连接并将整个笔记本电脑重新连接到wifi时,我就得到了正确的行为。
结论:Always doubt the browser!!!