在我的角度项目中,我有这样的代码:
this.swUpdate.available.subscribe(() => {
...
});它工作得很好,但是给了我关于activated被废弃的警告。
我该怎么做才能修正这个警告?
发布于 2022-01-12 16:03:35
必须将activated更改为activateUpdate(),并将其视为Promise
this.swUpdate.activateUpdate().then(() => {
...
});发布于 2022-03-28 19:48:53
我相信activated和activateUpdate()是不同的东西。您调用activateUpdate(),然后当它完成时,activated就会发生。
此外,activated和available显然是不同的(您的问题都引用了两者)。available表示检测到更新;activated表示已经安装了更新。
根据docs (https://angular.io/api/service-worker/SwUpdate),available的替代品是:
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,
})));https://stackoverflow.com/questions/70684682
复制相似问题