【问题标题】:RxJS and Typescript catch error with the same typeRxJS 和 Typescript 捕获相同类型的错误
【发布时间】:2018-11-30 09:13:04
【问题描述】:

我使用 RxJS,我需要在我的方法中返回该类型的 observable:Observable<MyStuff>

当我想抛出错误时,我使用:

import { throwError } from "rxjs";
/// ... stuff
return throwError('Error stuff invalid');

throwError 返回一个Observable<never>,它与Observable<MyStuff> 的类型不同

我想抛出该类型的错误:Observable<MyStuff> 如果可能的话,我不想更改函数的返回类型

用 observables 处理错误的最佳实践是什么?

【问题讨论】:

  • 你在哪里有一个类型为 Observable<MyStuff> 的 Observable?
  • 这是我的返回类型
  • 一切顺利时我返回那个类型
  • 你能展示整个链条吗?

标签: typescript error-handling rxjs


【解决方案1】:

你可以抛出一个错误,而不必使用 rxjs 中的 ThrowError ,你可以这样做,你替换 return ThrowError("你的错误"); 和 抛出“错误”;

并在订阅您的 observable 时简单地捕获它,例如关注 YourrReturnedObservable.subscribe(successData => {Your code logic } , err => { // catch exceptions here});

【讨论】:

  • 完美,是的,所以现在我认为当您在管道上时,您只需抛出它,它就会进入错误处理
猜你喜欢
  • 1970-01-01
  • 2018-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多