RxJava


RxJava與EventBus的區別編程

  1. RxJava訂閱與發佈事件不是分開寫的,是函數式編程。
    網絡

  2. 指定發佈事件和消費事件的方式不同,RxJava直接經過2個方法指定,而EventBus須要單獨的定義方法。閉包

  3. RxJava比EventBus更加地強大:ide

a)變換:函數式編程

         對於發佈的事件的數據,RxJava能夠攔截進行轉換,XxxMap這樣的方法中添加FunX類的call方法(閉包)函數

         map變換
spa

         flatMap變換        序列變換
線程

         注意一點:函數式編程要注意方法調用的順序,若是map在接口

                        .observeOn(AndroidSchedulers.mainThread())以後,則map的變換方法會在observe事件

                        r的線程執行。




b)RxJava與Retrofit,能夠實現網絡請求的嵌套操做。

        如請求A接口獲得數據m,再拿着數據m去請求接口B,獲得數據n。

c)能夠任意的切換線程

d)防抖動,在必定時間不會重複的發送事件

相關文章
相關標籤/搜索