You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular13项目调用subscribe方法出现deprecated废弃警告如何处理

警告触发原因

你当前使用的是RxJS中已被标记为废弃的subscribe传参方式:将next成功回调、error错误回调、complete完成回调作为独立的位置参数依次传入subscribe方法。Angular13配套的RxJS版本已经将该传参方式标记为废弃,该写法会在RxJS v8版本中被彻底移除,因此触发了废弃提示。

正确修复方式

将独立的回调参数整合为一个观察者对象传入subscribe,回调函数作为该对象的属性存在,对应属性名分别为next、error、complete。
你的业务代码修改后如下:

this.userService.addUser(this.user).subscribe({
  next: (data)=>{
    //success
    console.log(data);
    this._snack.open('Registered Successfully', 'OK', {
      duration: 2000,
      verticalPosition: 'top',
      horizontalPosition: 'center',
      panelClass: ['green-snackbar', 'login-snackbar'],
    });
  },
  error: (error)=>{
    //error
    console.log(error);
    this._snack.open('Something went Wrong', 'OK', {
      duration: 2000,
      verticalPosition: 'top',
      horizontalPosition: 'center',
      panelClass: ['red-snackbar','login-snackbar'],
    });
  }
});

如果需要使用完成回调,只需要在观察者对象中新增complete属性即可:

.subscribe({
  next: (val) => {},
  error: (err) => {},
  complete: () => {
    // observable完成时的逻辑
  }
})

内容的提问来源于stack exchange,提问作者Roshankumar Bisoi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 00:06:07