rxjs - 建立數據流

1、建立類操做符
 
1.創造的定義:是指這些操做符不依賴任何其餘Observable對象,就能夠憑空或者根據其餘數據源創造出一個Observable對象。
 
2.建立類操做符就是數據的源頭,所以大部分建立類操做符都是靜態操做符
 
2、建立同步數據流
 
1.對於同步數據流,數據之間的時間間隔能夠忽略不計。
 
2.create是最簡單的建立操做,內部就是直接調用建立Observable的構造函數,不須要導入任何其餘模塊就可使用。(靜態)
 
源碼如圖:
 
 
3.of,用於列舉數據,產生數據是同步的,數據產生後,Observable也完結,而且of屬於cold Observable,因此對於任何一個Observer訂閱者都會吐出同一組數據,因此能夠反覆使用。(靜態)
適用場景:想把已知很少的數據轉成Observable對象,進行處理。
   ps:該方法在rxjs 4版本中名爲just,因此若是要升級rxjs,則須要改名操做。
 
4.range,指定範圍,傳入參數指定開始值和長度,便可產生序列,第一個參數不必定要是整數,能夠爲1.5或者其餘任何數字,每次只能遞增1。(靜態)
   適用場景:產生一個很大連續數字序列。
 
5.generate,循環建立,定製性更強,第一個參數爲值,初始值,第二個參數爲函數,表示繼續的條件,第三個參數爲函數,表示值的遞增,第三個參數爲函數,表示結果,應該保持這三個函數都是純函數。(靜態)
   適用場景:若在js中使用for循環實現,是用哪一個rxjs實現就可使用generate。
 
6.repeate,重複數據的數據流,能夠重複上游Observable中的數據若干次,並且會在上游執行完後纔會執行,若上游不執行complete,則repeate沒法正常執行,該方法中參數表示重複的次數,若不傳參數或爲負數,則無限次執行。(動態)
   ps:該方法在rxjs 4版本中爲靜態操做符,可傳入兩個參數,第一個爲循環的對象,第二個是循環的次數。
 
7.empty,產生一個直接完結的Observable,沒有參數,不產生任何數據。
 
8.throw方法昌盛的Observable對象什麼也不作,直接報錯,傳入的參數就是報錯的信息。
   ps:注意throw是js中的關鍵字,導入時可以使用別名。
 
9.never,真正的什麼也不作,直到永遠。
相關文章
相關標籤/搜索