相关疑难解决方法(0)

在 Reactor 中的 .map() 与 .flatMap() 中返回 null

以下代码有效:

// 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流我明白之间的差mapflatMap(对于接收到的每个项目,map发出1,flatMap发射N)

但是在 Reactor 中我有点困惑。我认为,两者mapflatMapEMIT 1项为接收到的每个元件,所不同的是,所述map发射它作为一个Mono而 …

java reactor

3
推荐指数
2
解决办法
8250
查看次数

标签 统计

java ×1

reactor ×1