Как преобразовать rxJava2 в наблюдаемый?

У меня есть Observable stream, и я хочу преобразовать его в Completable, как я мог это сделать?

Ответ 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

Это должен быть принятый ответ, так как предметы существуют и активно используются (по крайней мере, откуда я)

Ты за этот ответ