Jika Anda menggunakan RxJava, maka lebih baik digunakan Completable
dalam kasus ini
Merepresentasikan komputasi yang ditangguhkan tanpa nilai apa pun tetapi hanya indikasi untuk penyelesaian atau pengecualian. Kelas mengikuti pola peristiwa serupa sebagai Reactive-Streams: onSubscribe (onError | onComplete)?
http://reactivex.io/RxJava/2.x/javadoc/io/reactivex/Completable.html
dalam jawaban yang diterima:
@GET("/path/to/get")
Observable<Response<Void>> getMyData(/* your args here */);
Jika titik akhir mengembalikan kode respons kegagalan, kode itu akan tetap ada di onNext
dan Anda harus memeriksa kode respons sendiri.
Namun, jika Anda menggunakan Completable
.
@GET("/path/to/get")
Completable getMyData(/* your args here */);
Anda hanya akan memiliki onComplete
dan onError
. jika kode respons berhasil, kode respons akan aktif, yang onComplete
lain akan aktif onError
.
Void
yang tidak hanya memiliki semantik yang lebih baik tetapi (sedikit) lebih efisien dalam wadah kosong dan jauh lebih efisien dalam wadah tidak kosong (bila Anda tidak peduli dengan tubuh).