【问题标题】:Kotlin generateSequence in Reactor FluxKotlin 在 Reactor Flux 中生成序列
【发布时间】:2020-11-14 17:20:14
【问题描述】:

使用 Kotlin 序列,我们可以做这样的事情。

val seq = generateSequence(0) { it + 1 }
seq.take(4).subscripe() { println(it) }

这将计算一个包含四个值的新序列,从一个初始值开始。

我正在寻找一种使用 Reactor Flux 来实现相同目标的方法。根据初始值计算序列。 但我刚刚找到了一些东西可以用val f = Flux.just(0, 1, 2, ...)创建一个静态序列

【问题讨论】:

    标签: kotlin project-reactor


    【解决方案1】:

    您可以使用 reactor-kotlin-extensions 库将 Kotlin 序列转换为 Flux,如下所示:

    import reactor.kotlin.core.publisher.toFlux
    
    // ...
    
    generateSequence(0) { it + 1 }.toFlux().take(4).subscribe { println(it) }
    

    如果你想只使用 Reactor 也一样:

    Flux.generate<Int, Int>({0}, { curr, sink -> sink.next(curr); curr + 1 })
        .take(4)
        .subscribe { println(it)}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-12
      • 1970-01-01
      • 2021-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-17
      • 1970-01-01
      相关资源
      最近更新 更多