首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角SwUpdate活化分解

角SwUpdate活化分解
EN

Stack Overflow用户
提问于 2022-01-12 16:03:35
回答 2查看 1K关注 0票数 2

在我的角度项目中,我有这样的代码:

代码语言:javascript
复制
this.swUpdate.available.subscribe(() => {
  ...
});

它工作得很好,但是给了我关于activated被废弃的警告。

我该怎么做才能修正这个警告?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-12 16:03:35

必须将activated更改为activateUpdate(),并将其视为Promise

代码语言:javascript
复制
this.swUpdate.activateUpdate().then(() => {
 ...
});
票数 3
EN

Stack Overflow用户

发布于 2022-03-28 19:48:53

我相信activatedactivateUpdate()是不同的东西。您调用activateUpdate(),然后当它完成时,activated就会发生。

此外,activatedavailable显然是不同的(您的问题都引用了两者)。available表示检测到更新;activated表示已经安装了更新。

根据docs (https://angular.io/api/service-worker/SwUpdate),available的替代品是:

代码语言:javascript
复制
import {filter, map} from 'rxjs/operators';
// ...
const updatesAvailable = swUpdate.versionUpdates.pipe(
  filter((evt): evt is VersionReadyEvent => evt.type === 'VERSION_READY'),
  map(evt => ({
    type: 'UPDATE_AVAILABLE',
    current: evt.currentVersion,
    available: evt.latestVersion,
  })));
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70684682

复制
相关文章

相似问题

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