Spring WebFlux 中Mono和Flux的基本使用

final String block1 = Flux.fromIterable(Lists.newArrayList("a1", "a2", "b", "a2"))
                .filter(s -> s.startsWith("a"))
                .switchIfEmpty(
                        Mono.empty().then(Mono.fromRunnable(() -> {
                            System.out.println("找不到a开头的");
                        })).then(Mono.error(new RuntimeException("找不到a开头的 exception")))
                )
                .filter(s -> s.equals("a2"))
                .switchIfEmpty(
                        Mono.empty().then(Mono.fromRunnable(() -> {
                            System.out.println("找不到a2的");
                        })).then(Mono.error(new RuntimeException("找不到a2的")))
                )
                .map(s -> {
                    System.out.println("do some things: " + s);
                    return s + " done!";
                }).next().block();
        System.out.println(block1);
本文版权归作者所有,禁止一切形式的转载,复制等操作
赞赏

微信赞赏支付宝赞赏

发表评论

电子邮件地址不会被公开。 必填项已用*标注