作为在typescript
中编写ServiceWorker代码的一部分,我将附加安装处理程序,然后在其中调用skipWaiting
:
self.addEventListener('install', this.onInstall);
protected onInstall() {
console.log('onInstall called');
workbox.skipWaiting();
}
有了这个,新的ServiceWorker仍处于等待状态,而skipWaiting似乎不起作用。 onInstall处理程序被称为完全正常。
打字稿实现工件是否在此处引起问题?像我应该写这样的东西吗?
self.addEventListener('install', event => {
self.skipWaiting();
});
或者self.skipWaiting()与workbox.skipWaiting()的工作方式不同吗?
有趣的是,将workbox.skipWaiting()
移至附加了安装处理程序的ctor可以解决此问题。