并行运行多个 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)
官方文档只有一些方法可以对相同类型的任务进行并行执行。
有没有针对不同类型的任务并行执行的好方法?
谢谢。
并行运行多个 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)
官方文档只有一些方法可以对相同类型的任务进行并行执行。
有没有针对不同类型的任务并行执行的好方法?
谢谢。
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)