2017-02-07 2 views
4

Ich habe eine API, die nur Fehler/Erfolgscodes, ohne Körper zurückgibt. Mit RxJava1 hätte ich Observable<Void> als Rückgabewert für diesen Aufruf verwendet.RxJava2: Alternative zu Observable <Void>

Was kann ich für RxJava2 verwenden? Der Hinweis auf das Wiki für RxJava2 (link) ist nicht hilfreich, da ich die Funktionsweise der API nicht ändern kann.

Setup:

compile 'com.squareup.retrofit2:retrofit:2.1.0' 
compile 'com.squareup.retrofit2:converter-gson:2.1.0' 
compile 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0' 
+0

Haben Sie tatsächlich versucht, Observable zu verwenden? Ich benutze RxJava 2 und Observable , hatte kein einziges Problem. –

+0

Observable von Void sendet ein Terminal-Event, denke ich. – EpicPandaForce

+1

http://stackoverflow.com/a/41563950/7045114 –

Antwort

17

Verwendung Completable.

Wenn der Vorgang erfolgreich ist, wird ein erfolgreiches Beendigungsereignis ausgelöst. Wenn es fehlschlägt, können Sie Ihre eigene Exception Unterklasse verwenden, um die erforderlichen Fehlercodes einzubinden.

Verwandte Themen