【发布时间】:2021-11-04 16:15:12
【问题描述】:
我定义了一个简单的函数,它将打开一个MatSnackBar 并在 get 请求返回任何错误时显示错误消息
handleError(err: HttpErrorResponse) {
this.snackBar.open(err.message)
return throwError(err)
}
因此,当我在构造函数中订阅 observable 时,我将上述函数传递给 catchError
constructor(private snackBack: MatSnackBar) {
...
this._obv$ = this.myService.getTypes().pipe(
catchError(this.handleError)
)
...
触发错误时,传递给handleError 的err 是正确的,但this.snackBar 是undefined。
当我像这样使用handleError 函数时问题消失了
this._obv$ = this.myService.getTypes().pipe(
catchError(err => this.handleError(err)
)
有什么区别,为什么是snackBar实例undefined?
【问题讨论】:
标签: angular typescript error-handling rxjs