根据我的理解,在Spring WebFlux反应堆中
Mono<Void>
指无效的单声道
Mono.empty()
指的是 void,因为在此调用任何内容都会给出一个 null 指针。
这些在使用上有何不同?
Mono<T>
是一个泛型类型 - 在您的特定情况下,它将Void
类型表示为Mono<Void>
Mono.empty()
- 返回在不发出任何项目的情况下完成的单声道。
假设你有一个方法:
private Mono<Void> doNothing() {
return Mono.empty();
}
当您想在返回Mono.empty()
的方法调用之后链接任何内容时,它将无法与flatMap
一起使用,因为它是a completed Mono
。 如果您想在该方法之后继续另一个作业,您可以使用运算符then
:
doNothing().then(doSomething())