У меня есть 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
Это должен быть принятый ответ, так как предметы существуют и активно используются (по крайней мере, откуда я)
Ты за этот ответ