1. ホーム
  2. scala

[解決済み] Seq[Future[Person]]ではなく、Future[Seq[Person]]を取得する方法

2022-02-11 12:42:35

質問

以下の2つの外部呼び出しがあります。

  1. Future[Seq[People]]を与えるもの。
  2. person_id を受け取り、person_status を Future[String] として返す。

最初の呼び出しで利用可能なシーケンスから、2番目の呼び出しを使用して各人の状態を更新する必要があります。これは私が試した方法です。

getFuturePeople.map( (seqPeople : Seq[People]) => {
     seqPeople.map(person => getStatus(person._id).status).map(status => {
     //Update status for this person but I get Seq[Future[Peoson]]
   }) 
})

解決方法は?

を使用することができます。 Future.sequence を使用して、結果を変換します。

val futureOfSeq = Future.sequence(seqOfFuture)