Angular 15:更改后错误“subscribe is deprecated”仍然存在

问题描述 投票:0回答:1

我使用 Webstorm 编辑器并使用 Angular 15。 我收到以下有关订阅功能的消息:“已使用已弃用的符号” 我在 rxjs 网站上找到了这篇文章,该方法已更改: Angular 11:订阅已被弃用:使用观察者代替?

所以我更新了我的代码:

test() {

// Recommended
    this.backendServices.getAllBox().subscribe(
        (response) => {
            console.log(response);
        },
        (error) => {
            console.log(error);
        },
        () => {
            console.log('complete');
        }
    );
}

但是消息仍然存在:

然后我在google上发现这个错误可以由tslint产生,建议通过eslint转换tslint。 这就是我按照本教程所做的:https://www.google.com/search?q=how+to+change+tslint+to+eslint&newwindow=1&sca_esv=582242121&rlz=1C1CHBF_frFR843FR843&sxsrf=AM9HkKkuhEYk7LWdKCbD7df9l3CiseljJA%3 A1699960850354&ei=ElhTZeybFeK6kdUPtr2K-AM&oq=如何+更改+tslin&gs_lp=Egxnd3Mtd2l6LXNlcnAiE2hvdyB0byBjaGFuZ2UgdHNsaW4qAggAMgYQABgWGB4yCBAAGBYYHhgKMgYQABgWGB4yBhAAGBYYHkj7eVAAWJtocAF4AZABAJgBuwGgAcCUqgEEMC4yMLg BA8gBAPgBAcICBBAjGCfCAgcQIxiKBRgnwgILEAAYGAQYsQMYgwHCAhEQLhiDARjHARixAxjRAxiABMICCxAugiaaeGMcBGK8BwgIOEC4YgAQYsQMYgweEY1ALCAgsQLhiDARixAxiKBcICCxAAGIOFGLEDGIMBwgIFEAAYGATCAHEQLhiABB ixAxiDARjHARjRA8ICBRAUGIAEwgIIEC4YgaAQYsQPCAggQABiABBixA8ICCBAugIAEGNQCwgIIEAAYigUYsQPCAhcQLhiABBixAxiXBRjcBBjeBBjgBNgBAcICCRAAGA0YExiABMICBxAAGBMYgATCAggQABgWGB4YE-IDBBgAIEGIBgG6BgYIARA BGBQ&sclient=gws-wiz-serp#fpstate=ive&vld=cid:8749a8e7,vid:fsr6CFqqsLc,st:0

这是命令:

Angular.json 和 package.json 已更新如下:

但是错误仍然存在。

缺少什么?

angular rxjs eslint tslint
1个回答
0
投票

只是 subscribe 的调用签名已被弃用。

而不是:

obs$.subscribe(() => {}, () => {}, () => {})

您应该使用当前推荐的方式:

obs$.subscribe({next:() => {},error: () => {], complete: () => {}})

来自 Observable.ts:

  subscribe(observer?: Partial<Observer<T>>): Subscription;
  subscribe(next: (value: T) => void): Subscription;
  /** @deprecated Instead of passing separate callback arguments, use an observer argument. Signatures taking separate callback arguments will be removed in v8. Details: https://rxjs.dev/deprecations/subscribe-arguments */
  subscribe(next?: ((value: T) => void) | null, error?: ((error: any) => void) | null, complete?: (() => void) | null): Subscription;
© www.soinside.com 2019 - 2024. All rights reserved.