RxJava學習之建立型操作符

2021-09-11 14:14:56 字數 2255 閱讀 3438

###下方展示了幾種建立observable的方法

####create操作符

crate操作符是所有建立型操作符的根,也就是說其他建立型的操作符最後都是通過create操作符來建立observable

###defer操作符

/**

* defer

* defer操作符只有當有subscriber來訂閱的時候才會建立乙個新的observable物件,

*/private static void test

() })

.subscribe(new subscriber()

@override

public void onnext(long value)

@override

public void onerror(throwable error)

});}

複製**

###just操作符

注意:如果你傳遞null給just,它會返回乙個發射null值的observable。不要誤認為它會返回乙個空observable(完全不發射任何資料的observable),如果需要空observable你應該使用empty操作符。

/**

* just

* just操作符將某個物件轉化為observable物件,並且將其發射出去,可以使乙個數字、

* 乙個字串、陣列、iterate物件等,是一種非常快捷的建立observable物件的方法,在以後的例子裡會大量使用。

*/private static void test

()

@override

public void onnext(long value)

@override

public void onerror(throwable error)

});}

複製**

###defer和just操作符區別

public static observabledeferobservable

()

});}

public static observablejustobservable

()

public static observabledeferobservable = deferobservable();

public static observablejustobservable = justobservable();

/*** defer、just區別

* defer:每次訂閱都會得到乙個剛建立的最新的observable物件,這可以確保observable物件裡的資料是最新的;

* just:每次訂閱不會建立的新的observable物件

*/private static void test

()

@override

public void onnext(long value)

@override

public void onerror(throwable error)

});justobservable.subscribe(new observer()

@override

public void onnext(long value)

@override

public void onerror(throwable error)

});}

複製**

###interval操作符 建立乙個按固定時間間隔發射整數序列的observable

/**

* interval

* interval所建立的observable物件會從0開始,每隔固定的時間(long interval)發射乙個數字。

* 需要注意的是這個物件是執行在computation scheduler,所以如果需要在view中顯示結果,要在主線程中訂閱。

*/private static void test5

()

@override

public void onnext(long value)

@override

public void onerror(throwable error)

});}

複製**

RxJava操作符學習

操作符學習推薦閱讀 官方英文 翻譯中文 先來看乙個簡單的例子 被觀察者 observable.onsubscribeintegeronsubscribe new observable.onsubscribe 觀察者 subscriberintegersubscriber new subscriber...

RxJava 建立操作符create

create操作符是所有建立操作符的源頭,其他建立型的操作符都是通過create操作符來建立的 observable.create new observable.onsubscribe int i 1 0 模擬發生異常 會自動執行onerror throwable e 方法 注意 訂閱是可以取消的,...

RxJava 建立操作符 defer

defer的英文意思就是推遲,在這裡是推遲observable的建立,defer操作符是直到有訂閱者訂閱時,才通過observable的工廠方法建立observable,defer能保證observable的狀態是最新的 value 1 observable justobservable obser...