Различное использование оператора just () в rxjava - PullRequest
0 голосов
/ 16 апреля 2019

Во всех документах, которые я читаю в Интернете, говорится, что «оператор просто берет список и отправляет его только один раз». Однако в ссылке https://www.androidhive.info/RxJava/rxjava-operators-just-range-from-repeat/ есть такое использование: Здесь он принимает 10 аргументов и излучает 10 раз. Почему никто не упоминает об этом? Я не мог найти никаких официальных документов об этом. Вы можете это уточнить?

Observable.just(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Observer<Integer>() {
                    @Override
                    public void onSubscribe(Disposable d) {

                    }

                    @Override
                    public void onNext(Integer integer) {
                        Log.d(TAG, "onNext: " + integer);
                    }

                    @Override
                    public void onError(Throwable e) {

                    }

                    @Override
                    public void onComplete() {

                    }
                });

1 Ответ

1 голос
/ 16 апреля 2019

Вы можете увидеть реализацию <T> Observable<T> just(T t1, T t2, T t3, T t4, T t5, T t6) и увидеть, что она использует оператор from:

public static <T> Observable<T> just(T t1, T t2, T t3, T t4, T t5, T t6) {
    return from((T[])new Object[] { t1, t2, t3, t4, t5, t6 });
}

Также, для лучшего объяснения см. ответ , который @dglozano упомянул в комментарии.

Обновление: ссылка на наблюдаемый класс в RxJava2 и ссылка на тот же класс в RxJava 1. Фрагмент кода, который я написал, взят из RxJava1

...