普通情況下,我們都希望自己寫的指令可以按照寫好的順序一條一條的執(zhí)行。但是在ReactiveX中,許多指令都是并行執(zhí)行的,并且他們的執(zhí)行結(jié)果在一段時間之后才會被observers捕獲。
只要我們執(zhí)行的是一系列沒有依賴關(guān)系的任務(wù),就可以同時開始,這樣的話,執(zhí)行這些任務(wù)所需要的時間只是執(zhí)行最費時任務(wù)所需要的時間,可以節(jié)省時間
觀察者向被觀察者注冊,被觀察者通過調(diào)用觀察者的方法來觸發(fā)相應(yīng)機制或者發(fā)送通知消息
觀察者通過subscribe方法向被觀察者進行注冊,這個觀察者需要實現(xiàn)以下幾個方法的子集
被觀察者在觸發(fā)一個項目的時候會調(diào)用這個方法,它把 這個項目 作為方法調(diào)用的參數(shù)
被觀察者在它不能生成預(yù)期的數(shù)據(jù) 或者 遇到了某些其他問題的時候會調(diào)用這個方法,它會截斷對onNext和onCompleted的調(diào)用,它的參數(shù)是導(dǎo)致錯誤的一個聲明
被觀察者在它最后一次調(diào)用onNext方法后會調(diào)用這個方法(說明處理過程中沒有發(fā)生錯誤)
onNext方法可能會被調(diào)用0次到多次,最后一定會有一個對onCompleted或者onError的調(diào)用(不能是兩者全都調(diào)用),按照慣例,對于onNext的調(diào)用稱為emissions,對于onCompleted和onError的調(diào)用成為notifications
今天先記這么多,可以參考官方文檔
新聞熱點
疑難解答