Я должен сделать массив вызовов IO параллельно и объединить содержимое вызова в случае успеха. В случае неудачи другие обрабатываются в обычном режиме, но появляется сообщение об ошибке.
Мой мыслительный процесс о том, как это можно реализовать:
Array<TE<E, A>> -> TE<E, Array<A>> -> TE<E, MergedA> -> [E, A]
Что я ' В настоящее время я делаю:
В настоящее время я секвенирую массив TE, но любой сбой в цепочке приведет к левому.
pipe(
sequenceT(TE.taskEither)(arrayofTE), //TE<E,A>[] -> TE<E,A[]>
TE.map(mergeFn), //TE<E, A[]> -> TE<E, MergedA>
???
)
Как я могу остановить короткое замыкание?