RxJava 创建操作符 defer
来源:互联网 发布:爱知中学录取分数线 编辑:程序博客网 时间:2024/04/29 15:25
defer的英文意思就是推迟,在这里是推迟Observable的创建,defer操作符是直到有订阅者订阅时,才通过Observable的工厂方法创建Observable,defer能保证Observable的状态是最新的:
value = 1; Observable justObservable = Observable.just(value); Observable deferObservable = Observable.defer(new Func0<Observable<Integer>>() { @Override public Observable<Integer> call() { return Observable.just(value); } }); value = 2; justObservable.subscribe(new Action1() { @Override public void call(Object o) { LogUtils.d("------>justObservable:"+o); } }); deferObservable.subscribe(new Action1() { @Override public void call(Object o) { LogUtils.d("------>deferObservable:"+o); } });
结果为:
02-19 16:49:45.093 10258-10258/com.rxandroid.test1 D/----->: ------>justObservable:1
02-19 16:49:45.093 10258-10258/com.rxandroid.test1 D/----->: ------>deferObservable:2
defer操作符也是由create操作符创建的:源码:
public final static <T> Observable<T> defer(Func0<Observable<T>> observableFactory) { return create(new OnSubscribeDefer<T>(observableFactory));}
1 0
- RxJava 创建操作符 defer
- RxJava defer操作符
- RxJava 操作符--defer
- RxJava之defer操作符
- Rxjava(创建类)--defer
- Rxjava操作符(defer,compose,retryWhen)
- RXJava 创建操作符
- RXjava 创建操作符
- RxJava 创建操作符create
- RxJava 创建操作符form
- RxJava 创建操作符 just
- RxJava-创建Observable操作符
- RxJava操作符(1)-创建
- RxJava创建类型操作符
- RxJava—创建操作符
- RxJava(十一)defer操作符实现代码支持链式调用
- RxJava(十一)defer操作符实现代码支持链式调用
- RxJava----操作符:创建操作符
- JavaScriptCore框架入门介绍
- NSMutableArray 简介
- jaskSon二次封装,使用更方便
- 文章标题
- 二分查找算法
- RxJava 创建操作符 defer
- hibernate update 只更新部分字段的3种方法
- Scala Collections 注意事项
- 分享两个小知识,textVeiw不用加ScoreView也可以滚动,复制内容到剪切板,更改AlertDialog窗口大小
- Android APK反编译得到Java源代码和资源文件
- 无聊时总结总结算法之04冒泡排序
- js常用正则表达式
- Spring入门
- Android Build (1) -- Source Code Build Steps