У меня есть ситуация, когда мне нужно запустить несколько операций параллельно.
Все операции имеют одинаковое возвращаемое значение (скажем, Seq[String]
).
Возможно, что некоторыеиз операций может завершиться ошибкой, и другие успешно возвращают результаты.
Я хочу вернуть как успешные результаты, так и любые исключения, которые произошли, поэтому я могу записать их для отладки.
Есть ливстроенный или простой способ пройти через любую библиотеку (cats / scalaz), прежде чем я пойду и напишу свой собственный класс для этого?
Я думал о выполнении каждой операции в своем будущем,затем проверяя каждое будущее и возвращая кортеж Seq[String] -> Seq[Throwable]
, где левое значение - это успешные результаты (сглаженные / объединенные), а правое - список любых возникших исключений.
Есть ли лучший способ?