У меня есть такая функция:
def getFile(url: String): EitherT[Future, Error, ByteString]
Используется EitherT для кошек.
Я вызываю эту функцию с помощью другой функции, подобной этой:
def getAllFiles(urls: List[String]): EitherT[Future, Error, List[ByteString]] = {
urls.map(f => getFile(f).value)
}
Это не работает, поскольку я получаю несоответствие типов:
found : List[scala.concurrent.Future[Either[Error,akka.util.ByteString]]]
[error] required: cats.data.EitherT[scala.concurrent.Future,Error,List[akka.util.ByteString]]
Независимо от того, что я пытаюсь, я не могу это скомпилировать. По сути, я хочу запустить getFile для каждого URL и загрузить файл в Bytestring.