小编Val*_*ahu的帖子

从Flux转换为Mono

如何将1个元素的Flux转换为Mono?

Flux.fromArray(arrayOf(1,2,1,1,1,2))
                .distinct()
                .take(1)
Run Code Online (Sandbox Code Playgroud)

我如何使这成为单声道(1)?

project-reactor

15
推荐指数
2
解决办法
1万
查看次数

在flux上使用publishOn和subscribeOn都不会发生任何事情

每当我同时使用subscribeOn和publishOn时,都不会打印任何内容.如果我只使用一个它将打印.如果我使用subscribeOn(Schedulers.immediate())或弹性它的工作原理.任何想法为什么会这样?

我的理解是,publishOn会影响它发布的线程,并在订阅者运行的线程上进行订阅.你能指点我正确的方向吗?

fun test() {
        val testPublisher = EmitterProcessor.create<String>().connect()
        testPublisher
                .publishOn(Schedulers.elastic())
                .map { it ->
                    println("map on ${Thread.currentThread().name}")
                    it
                }
                .subscribeOn(Schedulers.parallel())  
                .subscribe { println("subscribe on ${Thread.currentThread().name}") }
        testPublisher.onNext("a")
        testPublisher.onNext("b")
        testPublisher.onNext("c")
        Thread.sleep(5000)
        println("---")
    }
Run Code Online (Sandbox Code Playgroud)

spring kotlin project-reactor

5
推荐指数
1
解决办法
3292
查看次数

在Scala中将List [Try [T]]尝试为[List [T]]

我想知道如何在Scala中将List [Try [T]]转换为Try [List [T]]?

我已经尝试过使用累加器并向右折叠,但这似乎并不理想。

functional-programming scala scalaz scala-cats

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