Observável está obsoleto no rxdart 0.23.1

14

Acabei de atualizar rxdart 0.23.1e de repente estou recebendo erros onde quer que tenha usado a Observableclasse. Eu li sobre as mudanças recentes na documentação e ele especificou para usar o rxdart_codemodpacote que integrei no meu pubspec.yamlarquivo e executar o seguinte comando pub global activate rxdart_codemodgera o -bash: pub: command not founderro. Eu instalei fluttercorretamente e flutter doctortambém parece estar funcionando bem. Existe alguma outra classe que substituiu Observable, não conseguiu encontrar nada sobre isso nos documentos. Claro que pode substituir o Observablecom o Streamda linguagem Dart mas realmente interessado em saber o caminho faz o rxdartpacote toma como ele especifica que está aproveitando os dart extensionmétodos .Usando como combineLatest2não é possível comDart's Stream então não será uma boa escolha para substituição?

Nudge
fonte

Respostas:

25

O Observablepode ser substituído por Streamcomo mencionei na pergunta, mas se você estiver usando métodos como combineLatest2from Observable, basta substituir Observablepor abstract class Rxpara poder usarRx.combineLatest2

Nudge
fonte
20

O Rxdart não precisa mais de uma classe personalizada para funcionar.

Agora, ele se baseia em métodos de extensão, que é um recurso recente do Dart (Dart 2.6) para implementar todos os Observablerecursos diretamente Stream.

Você pode substituir com segurança todo o seu Observablepor Stream.

Rémi Rousselet
fonte
3
Corrija a ortografia do Stream
Nudge
Então, como uso métodos como combineLatest2 com Stream, que não serão possíveis?
Nudge
4

Você pode usar

flutter pub global activate rxdart_codemod 

ao invés de pub global activate rxdart_codemod .

Outra opção é substituir o seu Observablepor Stream.

Kartik Shandilya
fonte
3

Use Rx.combineLatest2 em vez de Observable.combineLatest2

Observável não funciona mais!

goodBot
fonte
0

O Rxdart agora o implementa no RX .combineLatest2

Franco Macri
fonte