Scala无法强制转换类型Publisher[Publisher[\u

Scala无法强制转换类型Publisher[Publisher[\u,scala,project-reactor,Scala,Project Reactor,我使用ProjectReactor流实现在Scala中实现了简单流 val iterators: Iterable[Flux[String]] = for (i <- 0 to 4000) yield Flux.interval(5 seconds).map(_.toString) val publishers: Flux[Flux[String]] = Flux.just(iterators).flatMapIterable(identity) Flux.merge(publ

我使用ProjectReactor流实现在Scala中实现了简单流

  val iterators: Iterable[Flux[String]] = for (i <- 0 to 4000) yield Flux.interval(5 seconds).map(_.toString)
  val publishers: Flux[Flux[String]] = Flux.just(iterators).flatMapIterable(identity)
  Flux.merge(publishers, 1)
试图编译该代码,但出现错误

Error:(156, 8) overloaded method value merge with alternatives:
  [I](prefetch: Int, sources: org.reactivestreams.Publisher[_ <: I]*)reactor.core.scala.publisher.Flux[I] <and>
  [I](sources: org.reactivestreams.Publisher[_ <: I]*)reactor.core.scala.publisher.Flux[I] <and>
  [T](source: org.reactivestreams.Publisher[org.reactivestreams.Publisher[_ <: T]], concurrency: Int)reactor.core.scala.publisher.Flux[T]
 cannot be applied to (reactor.core.scala.publisher.Flux[reactor.core.scala.publisher.Flux[String]], Int)
为什么scala不能强制转换这些类型


Flux.mergepublishers运行良好,但当我传递整数参数时,scala编译器会出错。

如果您使用的是reactor scala扩展,这是一个将在0.4.8中修复的错误。

我认为您需要提供您在项目中使用的库的版本。Exscala、reactor core等是否使用reactor scala扩展直接使用反应堆堆芯?