Mono.delay(Duration.ofMillis(10)).map(d -> {
System.out.println(d);
return d;
}).block();
输出:0
当我使用subscribe()
或subscribe(-)
方法而不是block()
方法调用时,无法在控制台上看到任何输出。
Mono.delay(Duration.ofMillis(10)).map(d -> {
System.out.println(d);
return d;
}).subscribe(System.out::println);
我们需要在
Mono.delay(-)
方法之后仅使用doOnSubscribe (-)
吗? Mono.delay(Duration.ofMillis(10)).doOnSubscribe(s -> {
System.out.println("its printing doOnSubscribe");
}).map(d -> {
System.out.println(d);
return d;
}).subscribe(System.out::println);
输出它正在打印doOnSubscribe
block()
,除非我们明确指定错误处理程序,否则在上述代码中错误会丢失,在block()
的情况下,反应器会自动抛出错误。 - Martin Tarjányi