W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
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 。 |
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ū)動(dòng)循環(huán)來生成可觀察序列。參量initialState初始狀態(tài)。健康)狀況終止生成的條件(返回false時(shí))。重復(fù)迭代步驟功能。resultSelector選擇器功能,用于按順序產(chǎn)生的結(jié)果。(已棄用)調(diào)度器可選的。默認(rèn)值為undefined 。一個(gè)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)行一個(gè)狀態(tài)驅(qū)動(dòng)的循環(huán)來生成一個(gè) Observable,該循環(huán)在每次迭代時(shí)都發(fā)出一個(gè)元素。參量 initialState 初始狀態(tài)。健康)狀況終止生成的條件(返回false時(shí))。重復(fù)迭代步驟功能。調(diào)度器可選的。默認(rèn)值為undefined 。一個(gè)Scheduler 在其上運(yùn)行的發(fā)電機(jī)循環(huán)。如果未提供,則默認(rèn)為立即發(fā)射。returnsObservable<S> :生成的序列。用它代替 for 循環(huán)中的下一個(gè)值。generate 允許您創(chuàng)建使用循環(huán)生成的值流,該值流與傳統(tǒng)的 for 循環(huán)非常相似。的第一個(gè)參數(shù) generate 是一個(gè)初始值。第二個(gè)參數(shù)是一個(gè)接受該值并測試是否仍然存在某些條件的函數(shù)。如果是這樣,則循環(huán)繼續(xù),否則,循環(huán)停止。第三個(gè)值是一個(gè)函數(shù),它采用先前定義的值,并在每次迭代時(shí)以某種方式對(duì)其進(jìn)行修改。請(qǐng)注意,這三個(gè)參數(shù)如何與正則 for 循環(huán)中三個(gè)表達(dá)式的直接等效項(xiàng):第一個(gè)表達(dá)式初始化某個(gè)狀態(tài)(例如,數(shù)字索引),第二個(gè)測試循環(huán)是否可以進(jìn)行下一次迭代(例如,如果索引小于10),第三個(gè)狀態(tài)如何測試定義的值將在每一步上修改(索引將增加一)。generate 運(yùn)算符的返回值是一個(gè) Observable,它在每次循環(huán)迭代時(shí)都會(huì)發(fā)出一個(gè)值。首先,條件函數(shù)被運(yùn)行。如果返回 true,則 Observable 發(fā)出當(dāng)前存儲(chǔ)的值(第一次迭代時(shí)的初始值),然后使用迭代函數(shù)更新該值。如果在某些情況下條件返回 false,則 Observable 在此時(shí)完成。您可以選擇將第四個(gè)參數(shù)傳遞給generate -結(jié)果選擇器函數(shù),該函數(shù)使您可以立即映射通常由 Observable 發(fā)出的值。如果在 generate 調(diào) 用中發(fā)現(xiàn)三個(gè)匿名函數(shù)難以讀取,則可以向操作員提供單個(gè)對(duì)象。該對(duì)象具有的屬性:initialState , condition ,iterate 和 resultSelector ,應(yīng)具有相應(yīng)值,你通常會(huì)傳遞給 generate 。resultSelector 仍然是可選的,但是這種調(diào)用形式 generate 也可以省略 condition 。如果省略它,則意味著條件始終成立,因此 Observable 輸出將永遠(yuǎn)不會(huì)完成。兩種形式都 generate 可以選擇接受調(diào)度程序。在多參數(shù)調(diào)用的情況下,調(diào)度程序只是作為最后一個(gè)參數(shù)出現(xiàn)(無論是否存在 resultSelector 函數(shù))。如果是單參數(shù)調(diào)用,則可以將其作為 scheduler 傳遞給操作員的對(duì)象的屬性來提供 。在這兩種情況下,調(diào)度程序都會(huì)決定何時(shí)進(jìn)行循環(huán)的下一次迭代,從而確定 Observable 何時(shí)發(fā)出下一個(gè)值。例如,要確保在事件循環(huán)中將每個(gè)值推送到單獨(dú)任務(wù)上的觀察者,可以使用 async 調(diào)度程序。請(qǐng)注意,默認(rèn)情況下(未傳遞調(diào)度程序時(shí))將簡單地同步發(fā)出值。 |
generate(options: GenerateBaseOptions<S>): Observable<S> 通過使用指定的調(diào)度程序發(fā)送觀察者消息,通過運(yùn)行產(chǎn)生該序列元素的狀態(tài)驅(qū)動(dòng)循環(huán)來生成可觀察序列。重載接受可能包含初始狀態(tài),迭代,條件和調(diào)度程序的選項(xiàng)對(duì)象。參量選項(xiàng)必須包含initialState的對(duì)象,必須進(jìn)行迭代,并且可能包含條件和調(diào)度程序。退貨Observable<S> :生成的序列。 |
generate(options: GenerateOptions<T, S>): Observable<T> 通過使用指定的調(diào)度程序發(fā)送觀察者消息,通過運(yùn)行產(chǎn)生該序列元素的狀態(tài)驅(qū)動(dòng)循環(huán)來生成可觀察序列。重載接受可能包含初始狀態(tài),迭代,條件,結(jié)果選擇器和調(diào)度程序的選項(xiàng)對(duì)象。參量選項(xiàng)必須包含initialState,iterate,resultSelector且可能包含條件和調(diào)度程序的對(duì)象。退貨Observable<T> :生成的序列。 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: