scala – Akka-streams – 如何将flatMapConcatenated的source的物化值转换为另一个源?

我试图从Future [Source [Out,Mat]]创建一个Source [Out,Mat],并使用内置的source.fromFuture与flatMapConcat结合使用.但是,当使用fromFuture时,源的实现值为NotUsed.当flatMap与实际源相关联时,实现值保持不被使用.

是否可以获取flatMapConcat中使用的源的具体化值?

代码如下:

def sourceFromFutureSource[Out,Mat](futureSource: Future[Source[Out,Mat]]): Source[Out, Mat] = {
Source.fromFuture(futureSource)
  .flatMapConcat(identity)
}

最佳答案 从Akka 2.5.1开始,可以使用
Source.fromFutureSource.现在可以使用Source.fromFutureSource(futureSource).

点赞