Beispiele zur Verwendung von CompositeDisposable oder Disposable in RxJava2. In RxJava 1 gab es CompositeSubscription, aber das ist nicht in RxJava2 vorhanden. Es gibt etwas CompositeDisposable in rxJava2. Verwendung von CompositeDisposable oder Disposable in RxJava2Wie verwende ich CompositeDisposable von RxJava 2?
41
A
Antwort
74
private final CompositeDisposable disposables = new CompositeDisposable();
// adding an Observable to the disposable
disposables.add(sampleObservable()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(new DisposableObserver<String>() {
@Override
public void onComplete() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(String value) {
}
}));
static Observable<String> sampleObservable() {
return Observable.defer(new Callable<ObservableSource<? extends String>>() {
@Override
public ObservableSource<? extends String> call() throws Exception {
// Do some long running operation
SystemClock.sleep(2000);
return Observable.just("one", "two", "three", "four", "five");
}
});
}
// Using clear will clear all, but can accept new disposable
disposables.clear();
// Using dispose will clear all and set isDisposed = true, so it will not accept any new disposable
disposables.dispose();
Ich habe ein Beispielprojekt erstellen, um die Verwendung von RxJava2 zu demonstrieren. Hier finden Sie die sample project - RxJava2-Android-Samples
0
// clearing or unsubscibing
disposables.clear();
dieser Ort Nutzung dispose()
+9
Dies ist kein guter Rat, da Sie nach dem dispose() keine Observable erneut abonnieren können. – box
Verwandte Themen
- 1. Wie verwende ich Threading auf RxJava?
- 2. Wie verwende ich RxJava + Retrofit besser?
- 3. Von RxJava 1 bis RxJava 2
- 4. rxJava2 CompositeDisposable im Presenter
- 5. RxJava 2 & Retrofit 2 sequentielle unabhängige Anrufe
- 6. Retrofit 2 + Rxjava Bedienungsfehler
- 7. RxJava 2 - Observable.zip() gibt nie
- 8. Wie verwende ich substr auf 2 divs?
- 9. ASP.NET MVC 2 - Wie verwende ich DropDownListFor?
- 10. Wie verwende ich AutoValue mit Retrofit 2?
- 11. Retrofit 2 Beitrag rxjava (Login)
- 12. Wie verwende ich FullCalendar innerhalb von Angular 2?
- 13. RxJava 2 äquivalent zu isUnsubscribe
- 14. Android-Test mit RxJava 2
- 15. RxJava 1 und RxJava 2 im selben Projekt
- 16. Retrofit 2 und RxJava Fehlerbehandlung Operatoren
- 17. Problem beim Analysieren von Daten mit RxJava + Kotlin
- 18. RxJava 2.x: Soll ich Flowable oder Single/Compleable verwenden?
- 19. RxJava 1 Android: Wie erstelle ich eine Sequenz von Timern?
- 20. Wie funktioniert die Seitennummerierung mit Retrofit 2 und RxJava?
- 21. RxJava 2 Observable, dass onComplete erneut sendet
- 22. Transform 2 RxJava Observables auf 1 Karte
- 23. RxJava 2 erstellen Liste in neuen Thread
- 24. Was ersetzt AsyncEmitter in rxjava 2?
- 25. Wie verwende ich den gleichen Foreach Code für 2 Kollektionen?
- 26. RxJava: Wie wiederhole ich das nächste?
- 27. Angular 2: Wie verwende ich dieselbe Kindkomponente mit anderen Daten?
- 28. Angular 2 - Welches Modul-Bundle verwende ich
- 29. Richtiger Weg RxJava + Nachrüstung mit 2
- 30. Wie verwende ich ifstream
Warum sie Abonnement entfernt? –
@anandgaurav: Sie haben rxJava2 von Grund auf neu geschrieben, damit sie bessere Apis erstellt haben. –
Sie können auch fromCallable anstelle von verschieben –