rxjava中just()运算符的不同用法

时间:2019-04-16 13:47:20

标签: android rx-java

据说我在网上阅读的所有文档中“只是操作员只列出并发出一次”。但是,链接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 个答案:

答案 0 :(得分:1)

您可以看到<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 });
}

此外,有关更好的解释,请参见{d3zano在评论中提到的answer

更新:link到RxJava2中的Observable类,link到RxJava 1中的同一类。 我写的代码段来自RxJava1