Angular - 如何在 ngOnInit() 中解析 .subscribe 的"the declaration was marked as deprecated"



在Angular-13的typescript中,我得到了这样的代码:

ngOnInit(): void {
this.appSettingsService.getSettings()
.subscribe(settings => this.settings = settings,
() => null,
() => {
this.defaultSidebarColor = this.settings.defaultSidebarColor;
this.defaultBrandlogoColor =  this.settings.defaultBrandlogoColor;
});
}

但是出现了如下所示的错误:

声明被标记为已弃用&;对于.subscribe

我得到了。subscribe。

我该如何解决这个问题?

提前谢谢你。

这里有完整的细节和示例:https://rxjs.dev/deprecations/subscribe-arguments

总结一下:签名订阅(next,error,complete)被弃用了,取而代之的是传递带有一个或多个键'next', 'error'和'complete'的对象。

在您的示例中,您可以这样重构:

.subscribe({
next:settings => this.settings = settings,
error:() => null,
complete:() => {
this.defaultSidebarColor = this.settings.defaultSidebarColor;
this.defaultBrandlogoColor =  this.settings.defaultBrandlogoColor;
}
});

相关内容

最新更新