我阅读了checkForUpdate()方法中的服务工作者的文档,并且很难理解该方法的用途。
据我正确理解,checkForUpdate()是否有任何用法?据我理解,该方法返回一个承诺,该承诺指示检查是否成功完成,但没有指示新版本是否可用。
我的问题:
没有
不直接相关的问题:
发布于 2021-10-27 08:37:00
关于更新
是的,服务人员仍然会下载更新。但是,您需要触发更新的激活,否则将仍然使用旧版本。
例如:
this.serviceWorkerUpdates.checkForUpdate().then(() => {
/*
do stuff here..
you might want to run
this.serviceWorkerUpdates.available.subscribe()
and if there are new versions.. take some action..
*/
}));服务工作人员完成的自动更新将只触发一次,您可能需要进行手动检查,以确定是否已部署了新版本。
也许你有一个管理应用程序,用户并不是经常重新加载这个应用程序,但你仍然需要他们拥有最新版本。
缓慢更新
更新速度慢的原因可能是由于appState在20-30秒之前不稳定。取决于你的应用程序。
您可以尝试的是立即注册服务人员,而不是让它等待应用程序稳定下来。
通过使用名为registerImmediately的策略来做到这一点。
ServiceWorkerModule.register('ngsw-worker.js', {
enabled: environment.production,
registrationStrategy: 'registerImmediately',
}),https://stackoverflow.com/questions/69735012
复制相似问题