just() 运算符在 rxjava 中的不同用法
Different usages of just() operator in rxjava
据说我在网上阅读的所有文档中都"just operator takes list and emit only once"。然而,在 link 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() {
}
});
您可以查看 <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 在评论中提到的 。
更新:link to Observable class in RxJava2, and link 到 RxJava 1 中的 class。
我写的代码片段来自 RxJava1
据说我在网上阅读的所有文档中都"just operator takes list and emit only once"。然而,在 link 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() {
}
});
您可以查看 <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 在评论中提到的
更新:link to Observable class in RxJava2, and link 到 RxJava 1 中的 class。 我写的代码片段来自 RxJava1