以下代码有效:
// emitting employees...
.flatMap(employee -> {
boolean isAlive = employee.isAlive();
return Mono.just(isAlive)
.flatMap(myBoolean -> {
if (myBoolean) {
return Mono.empty();
}
else {
return Mono.just(employee);
}
});
})
Run Code Online (Sandbox Code Playgroud)
但我想知道为什么我不能.map在处理myBoolean时使用 a (NullPointerException 当它返回 null 时)
.map(myBoolean -> {
if (myBoolean) {
return null;
}
else {
return employee;
}
});
Run Code Online (Sandbox Code Playgroud)
我相信我对mapVS缺乏一些了解flatMap
在Java 8流我明白之间的差map和flatMap(对于接收到的每个项目,map发出1,flatMap发射N)
但是在 Reactor 中我有点困惑。我认为,两者map和flatMapEMIT 1项为接收到的每个元件,所不同的是,所述map发射它作为一个Mono而 …