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?

Coup de coude
la source

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

Coup de coude
la source
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.

Rémi Rousselet
la source
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.

Kartik Shandilya
la source
3

Utilisez Rx.combineLatest2 plutôt que Observable.combineLatest2

Observable ne fonctionne plus!

goodBot
la source
0

Rxdart l'implémente maintenant dans RX .combineLatest2

Franco Macri
la source