【发布时间】:2017-05-29 01:54:29
【问题描述】:
根据Mono<T>.materialize()上的Javadoc:
将传入的 onNext、onError 和 onComplete 信号转换为 Signal。由于错误被具体化为信号,因此将停止传播并发出 onComplete。完成信号将首先发出一个 Signal.complete() 然后有效地完成通量。
这意味着materialize返回的Publisher在没有错误发生时至少应该发出2个信号:
Signal.nextSignal.complete
但是这个方法的返回类型是Mono<Signal<T>>,它只允许发出单个事件。所以我很困惑。代码应该是
Flux<Signal<Integer>> mono = Mono.just(1).materialize();
StepVerifier.create(mono)
.expectNext(Signal.next(1))
.expectNext(Signal.complete())
.verifyComplete();
【问题讨论】:
-
我猜第一行缺少
;,下面的意图太多了,对吧? -
谢谢,我补充了。
标签: java project-reactor