Obserwowalne jest przestarzałe w rxdart 0.23.1


14

Właśnie uaktualniłem rxdart 0.23.1i nagle otrzymuję błędy wszędzie tam, gdzie korzystałem z Observableklasy. Czytałem o rozbijających zmian w dokumentacji i podał do korzystania z rxdart_codemodpakietu, który mam zintegrowaną w moim pubspec.yamlpliku, uruchamiając następującą komendę pub global activate rxdart_codemodrzuca -bash: pub: command not foundbłąd. Zainstalowałem flutterpoprawnie i flutter doctorwydaje się, że działa dobrze. Czy jest jakaś inna klasa, która zastąpiła Observable, nie mogła znaleźć nic na ten temat w dokumentacji. Oczywiście mogę zamienić na Observablez Streamjęzyka Dart, ale naprawdę chciałbym wiedzieć, jaką ścieżkę rxdartprzyjmuje pakiet, ponieważ określa, że ​​korzysta z dart extensionmetod. Korzystanie z takich metod combineLatest2jest niemożliwe zDart's Stream więc nie będzie to dobry wybór na wymianę?

Odpowiedzi:


25

ObservableMoże być zastąpiony przez Streamjak wspomniano w pytaniu, ale jeśli używasz metody jak combineLatest2z Observable, a potem po prostu zastąpić Observableprzez abstrakcyjnej klasy Rx, dzięki czemu można używaćRx.combineLatest2


20

Rxdart nie potrzebuje już niestandardowej klasy do działania.

Teraz opiera się na metodach rozszerzenia, które są najnowszą funkcją Dart (Dart 2.6), umożliwiającą bezpośrednie wdrożenie wszystkich Observablefunkcji Stream.

Można bezpiecznie wymienić wszystkie swoje ObservableBy Stream.


3
Popraw pisownię Stream
Posuń Grudnia

Więc jak użyć metod takich jak CombatLatest2 ze Streamem, to nie będzie możliwe
Posuń

4

Możesz użyć

flutter pub global activate rxdart_codemod 

zamiast pub global activate rxdart_codemod.

Inną opcją jest zastąpienie twojego Observableprzez Stream.


3

Użyj Rx.combineLatest2 zamiast Observable.combineLatest2

Obserwowalne już nie działa!


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.