spring-webflux - react 堆句柄运算符返回对象?

标签 spring-webflux project-reactor

我想使用handle 运算符,但它的结果不是我期望的类型,它始终是Object

        Mono.just("lol").handle((string, sink) -> {
            if(!string.equals("lol")) {
                sink.error(new RuntimeException("not lol!"));
            } else {
                sink.next(2);
            }
        }).doOnNext(myInt -> { // expecting myInt to be an integer but is Object
            System.out.println(myInt);
        });

我怎样才能得到识别类型的句柄(类似于 mapflatMap 识别返回类型的方式)?

我是否总是必须使用 cast 运算符?

最佳答案

使用泛型。

    Mono.<String>just("lol").<Integer>handle((string, sink) -> {
        if(!string.equals("lol")) {
            sink.error(new RuntimeException("not lol!"));
        } else {
            sink.next(2);
        }
    }).doOnNext(myInt -> {
        System.out.println(myInt);
    })

关于spring-webflux - react 堆句柄运算符返回对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63818860/

相关文章:

java - Spring Web 客户端 : How to stream large byte[] to file?

java - Webflux订阅者

java - 如何使用 Spring WebFlux 构建响应式(Reactive)内存存储库?

java - 将 CompletableFuture<Stream<T>> 转换为 Publisher<T> 是否正确?

java - Flux.buffer() 不适用于 switchIfEmpty

java - 将 Flux<Document> 转换为 Flux<Object> 或 List<Object>

java - 根据响应式内容在 Spring Weblux ServerResponse 上设置 header

java - 创建 Flux.fromIterable 后如何运行 onClose 操作?

java - 如何使用新模型/ child 更新/放置对象属性 Webflux Spring Reactive

ssl - 无法使用 Spring Data Reactive 和 Spring Boot 2.0 连接到 mongoDB