假设我们有两个不同的有序akka-stream源:
val source1: Source[Int, NotUsed] = Source(List(1, 12, 18))
val source2: Source[Int, NotUsed] = Source(List(10, 20, 30))我们如何合并这些源文件,这样它们的结果流也会被排序?
val mergedOrderedStream: Source[Int, NotUsed] = ???
mergedOrderedStream.runForeach(println)
// Expected output:
// 1
// 10
// 12
// 18
// 20
// 30发布于 2018-08-27 23:03:27
您应该使用Source#mergeSorted
val source1: Source[Int, NotUsed] = Source(List(1, 12, 18))
val source2: Source[Int, NotUsed] = Source(List(10, 20, 30))
val mergedOrderedStream: Source[Int, NotUsed] = source1.mergeSorted(source2)
mergedOrderedStream.runForeach(println)
// prints
// 1
// 10
// 12
// 18
// 20
// 30https://stackoverflow.com/questions/52041940
复制相似问题