淺談RxJava(一)
阿新 • • 發佈:2019-01-08
我的第一個RxJva小程式
class RxJavaHelloword {
public static void main(String[] name) {
hello("小木箱","小鐵箱");
}
private static void hello(String... names) {
Observable.from(names).subscribe(new Action1<String>() {
@Override
public void call(String s) {
System.out .println("我愛"+s+"!");
}
});
}
}
執行結果
我愛小木箱!
我愛小鐵箱!
Async Operators 非同步API
- start() 建立一個觀察者函式的返回值
- toAsync () asyncAction() asyncFunction() 改變觀察者的方法執行方式的返回值
- startFuture 改變未來方法的未來返回值的方法
- deferFuture() 改變觀察者的返回一個觀察者物件 直到觀察者的的通知在以後的階段被訂閱
- forEachFuture 通過訂閱者的方法通知訂閱者直到此操作被完成
- fromAction 改變觀察者的動作直到請求的動作已經被髮出結果導致訂閱者被訂閱
- fromCallable() 改變會哦掉到觀察者這個回調發出的結果或者丟擲的異常將會被訂閱者接受
- fromRunnable 改變Runnable 到訂閱者請求子執行緒發出結果直到訂閱者被訂閱
- runAsync () 返回一個StopableObservable 導致發出多種操作像特殊的指定的程式Sceduler產生的
Blocking observable Operators 阻塞式
- forEach 呼叫此方法觀察者通知每個條目,阻塞式直到整個觀察者被完成
- first() 阻塞式直到觀察者通知一個條目 然後返回第一個被通知的觀察者物件
- firstDefault () 阻塞式直到整個觀察者通知一個條目或被完成,如果Observable之前沒有被通知,返回的第一個條目被觀察者或預設的條目立刻被通知發出
- last()阻塞式直到觀察者完成,返回最後的條目傳送給觀察者或者預設的條目 但不是最後一個條目
- lastOrDefault 阻塞式直到觀察者被完成返回最後一個條目通知或者預設條目除非偶沒有最後一個條目
- mostRTecent() 返回最近傳送的所有觀察者物件
- next() 返回阻塞式迭代,觀察者會通知沒一個條目 然後返回目標條目
- latest() 返回阻塞式迭代器直到觀察者通知的條目已經返回了此條目
- single() 如果觀察者完成了通知每一個單一條目,返回的條目,否則返回預設的條目
- toFuture() 改變以後觀察者的物件
- ToITerable 改變觀察者到迭代器