Ich habe eine Instanz von Either[Future[A], Future[B]]
und ich möchte es in Future[Either[A, B]]
umwandeln.Wie transformiert man entweder [Zukunft [A], Zukunft [B]] in Zukunft [Entweder [A, B]]
Da my previous question, cats 0.8.1 freigegeben worden ist, die die Struktur der Bibliothek verändern und Xor
zugunsten der Either
fallen, die in 2,12 rechten vorgespannt ist.
So funktioniert die in der vorherigen akzeptierten Antwort beschriebene Methode nicht mehr. Ich habe versucht, die passenden Importe zu finden, aber gescheitert.
cats.instances.either._
cats.implicits._
cats.syntax.bitraverse._
sah plausibel aus, funktioniert aber leider nicht. Kompilierung schlägt immer noch fehl mit value bisequence is not a member of Either[scala.concurrent.Future[A],scala.concurrent.Future[B]]
Erweiterung der Importe zu *.all._
änderte den Compiler-Fehler nicht.
Ich bin auf scala 2.11.8, da nicht alle Bibliotheken das Projekt hängt davon ab, haben für 2.12 eine Version veröffentlicht
'either.fold (_ Karte (. Left (_)), _.map (Right (_))) ', aber wie hängt das mit Katzen zusammen? –
Ich habe dies mit Katzen 0.8.1 und Scala 2.11.8 und 2.12.1 versucht, und "Bisequence" auf "Entweder [Future [A], Future [B]]" funktioniert in beiden Versionen. Haben Sie einen impliziten 'ExecutionContext' im Bereich? Es ist erforderlich für 'Applicative [Future]' – Kolmar
@ Kolmar - Ja, ich importiere einen impliziten 'ExecutionContext'. Das ist komisch, habe das Projekt vor der Kompilierung geputzt. Benutzt du die gleichen 3 Importe, die ich gemacht habe? – kostja