Osservabile è deprecato in rxdart 0.23.1


14

Ho appena eseguito l'aggiornamento rxdart 0.23.1e improvvisamente ricevo errori ovunque abbia usato la Observableclasse. Ho letto delle ultime modifiche alla documentazione e ha specificato di utilizzare il rxdart_codemodpacchetto che ho integrato nel mio pubspec.yamlfile ed eseguendo il comando seguente pub global activate rxdart_codemodgenera l' -bash: pub: command not founderrore. Ho installato fluttercorrettamente e flutter doctorsembra anche funzionare bene. C'è qualche altra classe che ha sostituito Observable, non è riuscito a trovare nulla al riguardo nei documenti. Ovviamente posso sostituire il Observablecon il Streamlinguaggio from Dart ma sono davvero interessato a sapere quale percorso prende il rxdartpacchetto in quanto specifica che sta sfruttando il. L'uso di dart extensionmetodi come combineLatest2non è possibile conDart's Stream modo che non sia una buona scelta per la sostituzione?

Risposte:


25

Il Observablepuò essere sostituito da Streamcome ho detto nella domanda ma se stai usando metodi come combineLatest2da Observable, quindi sostituisci semplicemente Observablecon la classe astratta in Rxmodo da poter usareRx.combineLatest2


20

Rxdart non ha più bisogno di una classe personalizzata per funzionare.

Ora si basa su metodi di estensione, che è una recente funzionalità Dart (Dart 2.6) per implementare tutte le Observablefunzionalità direttamente Stream.

È possibile sostituire in modo sicuro tutti i vostri Observabledai Stream.


3
Correggi l'ortografia di Stream
Nudge il

Quindi, come posso usare metodi come combinare Ultimate2 con Stream, che non sarà possibile
Nudge

4

Puoi usare

flutter pub global activate rxdart_codemod 

invece di pub global activate rxdart_codemod.

Un'altra opzione è quella di sostituire il vostro Observableda Stream.


3

Utilizzare Rx.combineLatest2 anziché Observable.combineLatest2

Osservabile non funziona più!


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.