ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Rxjava创造操作符

2021-06-29 13:59:34  阅读:306  来源: 互联网

标签:Observable ObservableSource pprintln subscribe 创造 操作符 io Rxjava toString


rxjava 操作符kotlin 语法练习

参考 :https://github.com/ReactiveX/RxJava/

依赖

    implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
    implementation 'io.reactivex.rxjava2:rxjava:2.2.9'

经常会使用的固定式语句

1、异步订阅观察者 (切换到子线程)

  .subscribeOn(Schedulers.io())

2、排放到主线程执行

 .observeOn(AndroidSchedulers.mainThread())

3、订阅一个可被观察资源

.subscribe()

Observable的创建操作符

1、create   创建新的Observable实例

 Observable.create<Any> {
            it.onNext("创建一个可被观察的对象")
        }.subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe {
                    println(it)
                }

2、just 发出每个项目的可观察对象

 Observable.just("1", "2", 5, 8, Any())
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe {
                    println(it.toString())
                }

3、dafer     ObservableSource工厂函数   ,返回一个Observable,该Observable调用一个ObservableSource工厂来为每个新的Observer创建一个ObservableSource

   Observable.defer(object : Callable<Observable<String>> {
            override fun call(): Observable<String> {
                return Observable.create { it.onNext("haodada") }
            }
        }).subscribe {
            pprintln(it.toString())
        }

4、fromArray 一个发出源数组中的每个项的可观察对象

 Observable.fromArray("1", 5, 9, "5")
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe {
                    println(it.toString())
                }

5、fromFuture   将{ Future}转换为ObservableSource。 

        var task = FutureTask(Callable<String> {
            "task ${Thread.currentThread().id}"
        })
        Observable.fromFuture(task)
            .subscribe({ s: String? -> pprintln(" onNext : ${s}") },
                { o: Throwable? -> pprintln(" one rror : ${o}") },
                { pprintln(" onComplete!!") },
                { disposable: Disposable? ->
                    pprintln(" onSubscribe!!")
                    task.run()
                })

 6、fromIterable  将{ 集合}转换为ObservableSource。 

  var array = arrayListOf(1, 2, 2, 5, 6, 6, 9)
        Observable.fromIterable(array)
            .subscribe {
                pprintln(it.toString())
            }

7、range  它发出指定范围内的一系列整数

    
        Observable.range(200,1000).subscribe {
            pprintln(it.toString())
        }

标签:Observable,ObservableSource,pprintln,subscribe,创造,操作符,io,Rxjava,toString
来源: https://blog.csdn.net/qq_32110517/article/details/118311871

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有