4
鑑於Order
對象列表的順序...斯卡拉:更有效的方式來篩選列表和創建的期貨
case class Order(val id: String, val orderType: Option[String])
case class Transaction (val id: String, ...)
val orders = List(Order(1, Some("sell")), Order(2, None), ...)
...我需要爲所有這些訂單創建的Future
個序列具有一個類型(即orderType
定義):
val transactions: Seq[Future[Transaction]] = orders.filter(
_.orderType.isDefined).map { case order =>
trxService.findTransactions(order.id) // this returns a Future[Transaction]
}
)
以上首先調用filter
的代碼,它創建僅包含與orderType
集到Some
訂單新List
,然後從中創建一個Future
的序列。有沒有更有效的方法來實現這一點?