以下代码有效:
// emitting employees...
.flatMap(employee -> {
boolean isAlive = employee.isAlive();
return Mono.just(isAlive)
.flatMap(myBoolean -> {
if (myBoolean) {
return Mono.empty();
}
else {
return Mono.just(employee);
}
});
})
但我想知道为什么我不能.map在处理时使用myBoolean(NullPointerException 当它返回 null 时)
.map(myBoolean -> {
if (myBoolean) {
return null;
}
else {
return employee;
}
});
map我相信我对两者缺乏一些了解flatMap
map在Java 8流中,我理解和之间的区别flatMap(对于收到的每个项目,map发出 1,flatMap发出 N)
但在 Reactor 中我有点困惑。我认为 和map都会为收到的每个元素flatMap发出 1 个项目,区别在于 和 会map暂时不发出它。要发出 N 个项目,我会使用.MonoflatMapflatMapMany
预先感谢您的解释!
牧羊人nacy
哈士奇WWW
守候你守候我
幕布斯6054654
莫回无
相关分类