У меня есть Observable stream, и я хочу преобразовать его в Completable, как я мог это сделать?
Как преобразовать rxJava2 в наблюдаемый?
Ответ 1
Свободным способом является использование Observable.ignoreElements().
Observable.just(1, 2, 3)
.ignoreElements()
Преобразуйте его обратно через toObservable, если необходимо.
Ответ 2
Вы можете сделать что-то вроде ниже.
Observable<Integer> observable = Observable.just(1, 2, 3);
Completable completable = Completable.fromObservable(observable);
Как и в Observable, вам нужно подписаться на completable, чтобы запустить асинхронный процесс, который Observable завершает.
Более подробную информацию можно найти здесь, в документе Java для метода.
Ответ 3
Использовать Completable.merge(YourObservable()...
Ответ 4
Вы можете использовать Completable.fromObservable(xx). Это отлично работает на моем проекте.
Ответ 5
Как я понимаю, все эти решения будут работать только в том случае, если Observable вызовет onComplete, чего недостаточно, если вы хотите, чтобы ваш результат Completable onNext после первого onNext или onError, поэтому для этого случая я бы порекомендовал следующее:
Observable<Integer> observable = Observable.just(1, 2, 3);
Completable completable = observable.firstOrError().ignoreElement()
Ответ 6
Это должен быть принятый ответ, так как предметы существуют и активно используются (по крайней мере, откуда я)
Ты за этот ответ