1

并行运行多个 Monix 任务然后得到一个结果的最佳方法是什么?
我有以下任务并想要获得一个 ResultClass。

import monix.eval.Task

val a: Task[A]
val b: Task[B]
val c: Task[C]

case class ResultClass(a:A, b:B, c:C)

官方文档只有一些方法可以对相同类型的任务进行并行执行。
有没有针对不同类型的任务并行执行的好方法?
谢谢。

4

1 回答 1

4

MonixTask的方法有parMap2, parMap3,parMap4直到 6。你可以像这样使用它:

case class ResultClass(a:Int, b:String, c:Boolean)

val a: Task[Int] = Task.pure(1)
val b: Task[String] = Task.pure("Test")
val c: Task[Boolean] = Task.pure(true)

val r: Task[ResultClass] = Task.parMap3(a,b,c)(ResultClass.apply)
于 2020-03-18T11:55:12.877 回答