2
일부 요청을 실행 한 후 비동기 http4s 클라이언트에서 결과 모음을 얻습니다. 이 컬렉션 (Seq[Task[Response]]
)이 모든 Task
개체에 대해 완료되었으며 Response
개체가 특정 상태에 있는지 확인하고 싶습니다.fs2 : Seq 성공 여부 확인 (작업)
내가 대신 작업의 Future
을 사용한 경우, 내가 대신 fs2.Task
를 사용하여 유사한 기능을 달성 할 수있는 방법이 있나요
val results: Seq[Future[Response]] = ...
Future.sequence(results).map(_.forall(_.customFunction.isSuccess))
같은 일을 할 것인가? 나의 제한된 이해에서, 나는 어떤 점에서 내가 unsafeRun
에 전화해야 할 것 인 것을 당연하다고 생각한다. 그것은 컬렉션의 각각 Task
를 블록킹 할 것이다.
val results: Seq[Task[Response]] = ...
val sequence: Task[Seq[Response]] = results.foldLeft(Task.now(Seq.empty[Response])) {
(x, t) => x.flatMap(s => t.map(r => s :+ r))
}
그런 다음 같은 방법으로 검사 성공을 수행
감사합니다! 효과가있는 – DentArthurDent