首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PWA SwUpdate checkForUpdate()什么也不做

PWA SwUpdate checkForUpdate()什么也不做
EN

Stack Overflow用户
提问于 2021-10-27 08:11:20
回答 1查看 928关注 0票数 0

我阅读了checkForUpdate()方法中的服务工作者的文档,并且很难理解该方法的用途。

据我正确理解,checkForUpdate()是否有任何用法?据我理解,该方法返回一个承诺,该承诺指示检查是否成功完成,但没有指示新版本是否可用。

我的问题:

没有

  • checkForUpdate()新版本的下载仍然会发生,对吗?
  • 有checkForUpdate()有用的例子吗?

不直接相关的问题:

  • pwa的更新很慢(~20-30秒),是否有可能使更新过程更快?
EN

回答 1

Stack Overflow用户

发布于 2021-10-27 08:37:00

关于更新

是的,服务人员仍然会下载更新。但是,您需要触发更新的激活,否则将仍然使用旧版本。

例如:

代码语言:javascript
复制
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的策略来做到这一点。

代码语言:javascript
复制
    ServiceWorkerModule.register('ngsw-worker.js', {
      enabled: environment.production,
      registrationStrategy: 'registerImmediately',
    }),
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69735012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档