Вызов метода интерфейса Observable.OnSubscribe и его полное описание - PullRequest
0 голосов
/ 28 июня 2018

Я исследую различные способы создания нового Observabe в RxJava.
К сожалению мои попытки найти полное описание метода

вызов () (interface Observable.OnSubscribe<T>) не выполнен.

Пожалуйста, кто-нибудь может мне помочь выяснить, что делает этот метод или поделиться какой-то подробной информацией об этом методе.

Большое спасибо!

1 Ответ

0 голосов
/ 29 июня 2018

RxJava предоставляет несколько фабричных методов, которые доступны через класс Observable:

Давайте посмотрим на энергичную реализацию: Observable.just () Вы также можете использовать: Observable.fromCallable (() -> {return}) или Observable.defer (() -> {return>}, чтобы отложить дорогостоящий расчет (ленивый). Также есть Observable.fromArray / Observable. fromIterable, который будет охотно принимать список объектов и генерировать их при подписке. Также имеется взаимодействие для Java-Futures: Observable.fromFuture. Также существует Observable.create, который можно использовать для генерации специальных событий контракта, таких как onNext / onComplete / onError. Кроме того, вы можете использовать Observable.create для преобразования Api в стиле обратного вызова в RxJava-Observables.

Упомянутый интерфейс Action1 является функциональным интерфейсом, подобным Consumer из Java8. Это не инструмент для создания Observables, вместо этого он используется для внедрения пользовательского кода в Observable.

Давайте посмотрим на этот пример:

Observable<String> obs$ = Observable.fromCallable(() -> "Test");
obs$.subscribe(s -> System.out.println(s));

В этом примере вы «могли» передать Action1 для подписки, чтобы вызываться при выдаче значения. Как и в случае с RxJava2, Action1 больше не существует. Вместо этого можно было бы использовать Потребителя.

...