Mono<Void> 和 Mono.empty() 有何不同
How are Mono<Void> and Mono.empty() different
据我了解,在 Spring WebFlux 反应器中
Mono<Void>
指的是 void Mono
Mono.empty()
指的是 void,因为在此之上调用任何东西都会得到一个空指针。
它们在用法上有何不同?
Mono<T>
是通用类型 - 在您的特定情况下,它表示 Void
类型为 Mono<Void>
Mono.empty()
- return 完成但不发出任何项目的 Mono。
假设您有一个方法:
private Mono<Void> doNothing() {
return Mono.empty();
}
如果您想在方法调用后链接任何内容,它将无法与 flatMap
一起使用,因为它是 a completed Mono
。
如果您想在该方法之后继续另一项工作,您可以使用运算符 then
:
doNothing().then(doSomething())
据我了解,在 Spring WebFlux 反应器中
Mono<Void>
指的是 void Mono
Mono.empty()
指的是 void,因为在此之上调用任何东西都会得到一个空指针。
它们在用法上有何不同?
Mono<T>
是通用类型 - 在您的特定情况下,它表示 Void
类型为 Mono<Void>
Mono.empty()
- return 完成但不发出任何项目的 Mono。
假设您有一个方法:
private Mono<Void> doNothing() {
return Mono.empty();
}
如果您想在方法调用后链接任何内容,它将无法与 flatMap
一起使用,因为它是 a completed Mono
。
如果您想在该方法之后继续另一项工作,您可以使用运算符 then
:
doNothing().then(doSomething())