当用户没有访问我的网页时,是否可以在后台向服务工作者发出HTTP请求。我想定期向我的网页发送请求(例如3秒)?
有一项名为 periodicSync 的功能,但我不明白如何使用它。
答案 0 :(得分:1)
我没有尝试过这个,但对我来说,最清晰的概述是explanation。
定期请求涉及首先处理Service Worker ready
事件,并使用config选项调用periodicSync.register()函数。 register()
函数返回一个Promise,允许您处理定期同步注册的成功或拒绝。
registration.periodicSync.register()
传递'config'对象参数,其中包含以下属性:
然后,您可以针对periodicSync
事件注册听众。例如(基于explanation的略微简化示例。
self.addEventListener('periodicsync', function(event) {
if (event.registration.tag == 'my-tag') {
event.waitUntil(doTheWork()); // "do the work" asynchronously via a Promise.
}
else {
// unknown sync, may be old, best to unregister
event.registration.unregister();
}
});