注意
empty会造成之后的所有转换操作不执行
当Mono<T>
的计算结果为empty时,在它之后添加的多个转换操作都不会被触发执行。有一些方法可以解决这个问题:
- 使用
Optional<T>
来包裹可能为空的数据类型。
1 | Mono<Optional<User>> findById(String userId); |
- 使用
.switchIfEmpty
或.defaultIfEmpty
来将empty转换成其它有值的结果。
1 | Mono<User> findById(String userId); |