Ich habe eine Instanz von Either[Future[A], Future[B]]
und möchte sie in Future[Either[A, B]]
umwandeln.
Seit meine vorherige Frage , cats 0.8.1 wurde veröffentlicht, die Struktur der Bibliothek geändert und Xor
zugunsten von Either
fallen gelassen, was in 2.12 nach rechts verzerrt ist.
Somit funktioniert die in der vorherigen akzeptierten Antwort beschriebene Methode nicht mehr. Ich habe versucht, die passenden Importe zu finden, aber gescheitert.
%Vor% sah plausibel aus, funktioniert aber leider nicht. Die Kompilierung schlägt immer noch mit value bisequence is not a member of Either[scala.concurrent.Future[A],scala.concurrent.Future[B]]
Durch das Erweitern der Importe auf *.all._
wurde der Compilerfehler nicht geändert.
Ich bin auf Scala 2.11.8, da nicht alle Bibliotheken, von denen das Projekt abhängt, eine Version für 2.12 veröffentlicht haben
haben die Antworten aus den Kommentaren für die Leserfreundlichkeit zusammengestellt:
1: Sie können dies in einfachem Maßstab tun (mit cats.Functor
für die Definition hier), mit freundlicher Genehmigung von @wheaties & amp; @ Jean-Philippe-Pellet
2: cats bisequence
verweigert die Kompilierung wegen widersprüchlicher Importe: hier genügt ein einziger Import - mit freundlicher Genehmigung von @kolmar
3: Lesen Sie den Importleitfaden für Katzen , um das Problem in Zukunft zu vermeiden - mit freundlicher Genehmigung von @ peter-neyens
Tags und Links scala applicative scala-cats either