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
相关产品推荐
相关产品推荐

