Observable est déconseillé dans rxdart 0.23.1


14

Je viens de passer à rxdart 0.23.1et soudainement, je reçois des erreurs partout où j'ai utilisé la Observableclasse. J'ai lu les changements de rupture dans la documentation et il a spécifié d'utiliser le rxdart_codemodpackage que j'ai intégré dans mon pubspec.yamlfichier et l'exécution de la commande suivante pub global activate rxdart_codemodgénère l' -bash: pub: command not founderreur. J'ai installé fluttercorrectement et flutter doctorsemble également fonctionner correctement . Y a-t-il une autre classe qui a remplacé Observable, n'a rien trouvé à ce sujet dans la documentation. Bien sûr, je peux remplacer le Observablepar le Streamlangage Dart, mais je suis vraiment intéressé de savoir quel chemin prend le rxdartpackage car il spécifie qu'il tire parti des dart extensionméthodes .Using comme combineLatest2n'est pas possible avecDart's Stream donc ce ne sera pas un bon choix pour le remplacement?

Réponses:


25

Le Observablepeut être remplacé par Streamcomme je l'ai mentionné dans la question, mais si vous utilisez des méthodes comme combineLatest2from Observable, remplacez-les Observablepar une classe abstraite Rxpour pouvoir utiliserRx.combineLatest2


20

Rxdart n'a plus besoin d'une classe personnalisée pour fonctionner.

Il s'appuie désormais sur des méthodes d'extension, qui est une fonctionnalité récente de Dart (Dart 2.6) pour implémenter toutes les Observablefonctionnalités directement Stream.

Vous pouvez remplacer en toute sécurité tous vos Observablepar Stream.


3
Corrigez l'orthographe de Stream
Nudge

Ensuite, comment utiliser des méthodes telles que combineLatest2 avec Stream, cela ne sera pas possible
Nudge

4

Vous pouvez utiliser

flutter pub global activate rxdart_codemod 

au lieu de pub global activate rxdart_codemod.

Une autre option consiste à remplacer votre Observablepar Stream.


3

Utilisez Rx.combineLatest2 plutôt que Observable.combineLatest2

Observable ne fonctionne plus!


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.