RxJS generate

2020-10-13 13:54 更新

generate<T, S>(initialStateOrOptions: S | GenerateOptions<T, S>, condition?: ConditionFunc<S>, iterate?: IterateFunc<S>, resultSelectorOrObservable?:SchedulerLike | ResultFunc<S, T>, scheduler?: SchedulerLike): Observable<T>

參量

initialStateOrOptions 類型:S GenerateOptions
condition 可選的。默認(rèn)值為undefined。類型:ConditionFunc
iterate 可選的。默認(rèn)值為undefined。類型:IterateFunc
resultSelectorOrObservable 可選的。默認(rèn)值為undefined。類型:SchedulerLike | ResultFunc
scheduler 可選的。默認(rèn)值為undefined。類型:SchedulerLike。

returns

Observable<T>

超載

generate(initialState: S, condition: ConditionFunc<S>, iterate: IterateFunc<S>, resultSelector: ResultFunc<S, T>, scheduler?: SchedulerLike): Observable<T>通過使用指定的調(diào)度程序發(fā)送觀察者消息,通過運(yùn)行產(chǎn)生該序列元素的狀態(tài)驅(qū)動循環(huán)來生成可觀察序列。參量initialState初始狀態(tài)。健康)狀況終止生成的條件(返回false時)。重復(fù)迭代步驟功能。resultSelector選擇器功能,用于按順序產(chǎn)生的結(jié)果。(已棄用)調(diào)度器可選的。默認(rèn)值為undefined。一個SchedulerLike在其上運(yùn)行的發(fā)電機(jī)循環(huán)。如果未提供,則默認(rèn)為立即發(fā)出。returnsObservable<T>:生成的序列。生成大理石圖
generate(initialState: S, condition: ConditionFunc<S>, iterate: IterateFunc<S>, scheduler?: SchedulerLike): Observable<S>通過運(yùn)行一個狀態(tài)驅(qū)動的循環(huán)來生成一個 Observable,該循環(huán)在每次迭代時都發(fā)出一個元素。參量 initialState 初始狀態(tài)。健康)狀況終止生成的條件(返回false時)。重復(fù)迭代步驟功能。調(diào)度器可選的。默認(rèn)值為undefined。一個Scheduler在其上運(yùn)行的發(fā)電機(jī)循環(huán)。如果未提供,則默認(rèn)為立即發(fā)射。returnsObservable<S>:生成的序列。用它代替 for 循環(huán)中的下一個值。imggenerate 允許您創(chuàng)建使用循環(huán)生成的值流,該值流與傳統(tǒng)的 for 循環(huán)非常相似。的第一個參數(shù)  generate  是一個初始值。第二個參數(shù)是一個接受該值并測試是否仍然存在某些條件的函數(shù)。如果是這樣,則循環(huán)繼續(xù),否則,循環(huán)停止。第三個值是一個函數(shù),它采用先前定義的值,并在每次迭代時以某種方式對其進(jìn)行修改。請注意,這三個參數(shù)如何與正則 for 循環(huán)中三個表達(dá)式的直接等效項:第一個表達(dá)式初始化某個狀態(tài)(例如,數(shù)字索引),第二個測試循環(huán)是否可以進(jìn)行下一次迭代(例如,如果索引小于10),第三個狀態(tài)如何測試定義的值將在每一步上修改(索引將增加一)。generate運(yùn)算符的返回值是一個 Observable,它在每次循環(huán)迭代時都會發(fā)出一個值。首先,條件函數(shù)被運(yùn)行。如果返回 true,則 Observable 發(fā)出當(dāng)前存儲的值(第一次迭代時的初始值),然后使用迭代函數(shù)更新該值。如果在某些情況下條件返回 false,則 Observable 在此時完成。您可以選擇將第四個參數(shù)傳遞給generate-結(jié)果選擇器函數(shù),該函數(shù)使您可以立即映射通常由 Observable 發(fā)出的值。如果在 generate調(diào) 用中發(fā)現(xiàn)三個匿名函數(shù)難以讀取,則可以向操作員提供單個對象。該對象具有的屬性:initialState, condition,iterate 和 resultSelector,應(yīng)具有相應(yīng)值,你通常會傳遞給 generate。resultSelector 仍然是可選的,但是這種調(diào)用形式 generate 也可以省略 condition。如果省略它,則意味著條件始終成立,因此 Observable 輸出將永遠(yuǎn)不會完成。兩種形式都 generate 可以選擇接受調(diào)度程序。在多參數(shù)調(diào)用的情況下,調(diào)度程序只是作為最后一個參數(shù)出現(xiàn)(無論是否存在 resultSelector 函數(shù))。如果是單參數(shù)調(diào)用,則可以將其作為 scheduler 傳遞給操作員的對象的屬性來提供 。在這兩種情況下,調(diào)度程序都會決定何時進(jìn)行循環(huán)的下一次迭代,從而確定 Observable 何時發(fā)出下一個值。例如,要確保在事件循環(huán)中將每個值推送到單獨任務(wù)上的觀察者,可以使用 async 調(diào)度程序。請注意,默認(rèn)情況下(未傳遞調(diào)度程序時)將簡單地同步發(fā)出值。
generate(options: GenerateBaseOptions<S>): Observable<S>通過使用指定的調(diào)度程序發(fā)送觀察者消息,通過運(yùn)行產(chǎn)生該序列元素的狀態(tài)驅(qū)動循環(huán)來生成可觀察序列。重載接受可能包含初始狀態(tài),迭代,條件和調(diào)度程序的選項對象。參量選項必須包含initialState的對象,必須進(jìn)行迭代,并且可能包含條件和調(diào)度程序。退貨Observable<S>:生成的序列。生成大理石圖
generate(options: GenerateOptions<T, S>): Observable<T>通過使用指定的調(diào)度程序發(fā)送觀察者消息,通過運(yùn)行產(chǎn)生該序列元素的狀態(tài)驅(qū)動循環(huán)來生成可觀察序列。重載接受可能包含初始狀態(tài),迭代,條件,結(jié)果選擇器和調(diào)度程序的選項對象。參量選項必須包含initialState,iterate,resultSelector且可能包含條件和調(diào)度程序的對象。退貨Observable<T>:生成的序列。生成大理石圖
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號