Rxjs 如果发出无效类型的变量,可观测对象是否有方法调用其错误回调?

Rxjs 如果发出无效类型的变量,可观测对象是否有方法调用其错误回调?,rxjs,Rxjs,如果主题以某种方式发出无效类型,我希望触发observers错误回调 通过检查返回值的真实值,有一种检查未定义值的变通方法,但这会使未定义值到达下一个回调 public priceChange=新主题() 这个。价格变化。订阅({ 下一步:更改=>。。, 错误:err=>。。, }) 这个。价格变化。下一个(42) this.priceChange.next(未定义) 这个.priceChange.next('Potato')) 我只希望在下一个回调中调用有效值,即42。其他值应仅到达错误回调

如果主题以某种方式发出无效类型,我希望触发observers错误回调

通过检查返回值的真实值,有一种检查未定义值的变通方法,但这会使未定义值到达
下一个
回调

public priceChange=新主题()
这个。价格变化。订阅({
下一步:更改=>。。,
错误:err=>。。,
})
这个。价格变化。下一个(42)
this.priceChange.next(未定义)
这个.priceChange.next('Potato'))

我只希望在
下一个
回调中调用有效值,即42。其他值应仅到达
错误
回调。

您可以尝试根据此值来确定答案。阅读更多关于catchError的信息


你可以试着根据这个答案来回答。阅读更多关于catchError的信息


请检查管道操作员
catchError
throwError
请检查管道操作员
catchError
throwError
import { of } from 'rxjs';
import { map, catchError } from 'rxjs/operators';

this.priceChange.pipe(
    map(change => {
      if (typeof change !== WHATEVER YOU WANT) {
        throw 'type is not valid ......!';
      }
      return change;
    }),
    catchError(err => {
      throw 'error in source. Details: ' + err;
    }),
  )
  .subscribe(
    x => console.log(x),
    err => console.log(err)
  );