我的React链中有一些方法可以抛出异常。如果发生异常-我不想继续执行链,我想记录-是什么操作引发了异常。
我写了一个代码,看起来像这样:
Mono<Void> mono = Mono.just(10)
.map(a -> action1(a))
.doOnError((t) -> System.out.println("action 1 threw an exception"))
.onErrorStop()
.map(a -> action2(a))
.doOnError((t) -> System.out.println("action 2 threw an exception"))
.then();
mono.subscribe();
但是什么时候 action1
抛出异常-我得到以下输出:
action 1 threw an exception
action 2 threw an exception
什么不是我所期望的
1条答案
按热度按时间fafcakar1#
你需要把React链看作一个流水线或一个数据流,在流水线中,错误也是一个和其他数据一样的数据。
这个
flatMap()
方法改变信号到另一个(单声道或通量)当数据可用。