Wie transformiert man entweder [Zukunft [A], Zukunft [B]] in Zukunft [Entweder [A, B]]

8

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]]

fehl

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

    
kostja 16.12.2016, 16:09
quelle

1 Antwort

4

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

%Vor%

2: cats bisequence verweigert die Kompilierung wegen widersprüchlicher Importe: hier genügt ein einziger Import - mit freundlicher Genehmigung von @kolmar

%Vor%

3: Lesen Sie den Importleitfaden für Katzen , um das Problem in Zukunft zu vermeiden - mit freundlicher Genehmigung von @ peter-neyens

    
kostja 17.12.2016, 06:26
quelle