Rxjava3 的调用方法尝鲜

Posted 祥云湾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rxjava3 的调用方法尝鲜相关的知识,希望对你有一定的参考价值。

 1、非常普通的观察者和被观察者调用方式:

public static void main(String[] args) 
        //被观察者
        Observable myObservable= Observable.create(new ObservableOnSubscribe<String>() 

            @Override
            public void subscribe(@NonNull ObservableEmitter<String> emitter) throws Throwable 
                emitter.onNext("hello world!!");
                emitter.onComplete();
            
        );

        //观察者
        Observer myObserver=new Observer() 
            @Override
            public void onSubscribe(@NonNull Disposable d) 
                System.out.println("complete------>"+d.toString());
            

            @Override
            public void onNext(Object o) 
                System.out.println("next------>"+o.toString());
            

            @Override
            public void onError(@NonNull Throwable e) 
                System.out.println("Error------>"+e.toString());
            

            @Override
            public void onComplete() 

                System.out.println("complete------>");
            
        ;
        //观察者订阅 被观察对象
        myObservable.subscribe(myObserver);
    

打印结果: 

sampling ...
include patterns:
com\\.example\\.test02\\.ui\\.Test\\..*
exclude patterns:
complete------>CreateEmitternull
next------>hello world!!
complete------>

注意:complete和error是不能同时打印的,两者只会执行一个。

2、出于好玩,看看kotlin是怎么写:

    fun main(args: Array<String>) 
        //被观察者
        val myObservable: Observable<*> = Observable.create<String>  emitter ->
            emitter!!.onNext("hello world!!")
            emitter.onComplete()
        
        //观察者
        val myObserver= object: Observer<Any?> 
            override  fun onSubscribe(d: @NonNull Disposable?) 
                println("complete------>" + d.toString())
            
            override  fun onNext(o: Any?) 
                println("next------>" + o.toString())
            
            override   fun onError(e: @NonNull Throwable?) 
                println("Error------>" + e.toString())
            
            override  fun onComplete() 
                println("complete------>")
            
        
        //观察者订阅 被观察对象
        myObservable.subscribe(myObserver)
    

测试打印结果是一样的。

 

 

以上是关于Rxjava3 的调用方法尝鲜的主要内容,如果未能解决你的问题,请参考以下文章

Rxjava3 创建Obervable被观察者 的相关操作符

Rxjava3 创建Obervable被观察者 的相关操作符

无法从 RxJava2 准确迁移到 RxJava3

ApplicationInsights的探测器尝鲜

清晨尝鲜,什么是单例模式?

RxJava 3 映射器