W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
使用指定的調(diào)度程序從源 Observable 重新發(fā)出所有通知。
observeOn<T>(scheduler: SchedulerLike
, delay: number = 0): MonoTypeOperatorFunction
<T>
調(diào)度器 | 計(jì)劃程序,將用于重新計(jì)劃來(lái)自源 Observable 的通知。 |
---|---|
延遲 | 可選的。 默認(rèn)值為 0 。 指出應(yīng)重新安排每個(gè)通知的延遲時(shí)間的毫秒數(shù)。 |
MonoTypeOperatorFunction<T>
:發(fā)出與源 Observable 相同的通知的 Observable, 但提供了調(diào)度程序。
確保從 Observable 外部使用特定的調(diào)度程序。
observeOn
是一個(gè)接受調(diào)度程序作為第一個(gè)參數(shù)的運(yùn)算符,該參數(shù)將用于重新調(diào)度 源 Observable 發(fā)出的通知。 如果您無(wú)法控制,這可能會(huì)很有用 給定 Observabl e的內(nèi)部調(diào)度程序,但仍想控制何時(shí)發(fā)出其值。
返回的 Observable 發(fā)出與源 Observable 相同的通知(下一個(gè)值,完成和錯(cuò)誤事件), 但已使用提供的計(jì)劃程序進(jìn)行了重新計(jì)劃。 請(qǐng)注意,這并不意味著源 Observables 內(nèi)部 調(diào)度程序?qū)⒁匀魏畏绞教鎿Q。 仍將使用原始調(diào)度程序,但是當(dāng)源 Observable 發(fā)出時(shí) 通知,它將立即再次進(jìn)行安排-這次將 Scheduler 傳遞給 observeOn
。 一個(gè)反模式將調(diào)用 observeOn
Observable,它會(huì)同步發(fā)出大量值,以進(jìn)行拆分 排放成異步塊。 為此,必須將調(diào)度程序傳遞到源中 直接可見(jiàn)(通常在創(chuàng)建它的操作員中可見(jiàn))。 observeOn
只是延遲通知 多一點(diǎn),以確保它們?cè)陬A(yù)期的時(shí)刻發(fā)出。
實(shí)際上, observeOn
接受第二個(gè)參數(shù),該參數(shù)指定以毫秒為單位的延遲通知 將被發(fā)射。 之間的主要區(qū)別 delay
和 observeOn
是 observeOn
將延遲所有通知-包括錯(cuò)誤通知-Simultaneously delay
會(huì)通過(guò)錯(cuò)誤 從源發(fā)出后立即可觀察。 通常,強(qiáng)烈建議使用 delay
運(yùn)算符 用于流中值的任何類型的延遲,Simultaneously observeOn
用于指定應(yīng)使用哪個(gè)調(diào)度程序 一般用于通知排放。
確保在重新繪制瀏覽器之前調(diào)用 subscribe 中的值。
import { interval } from 'rxjs';
import { observeOn } from 'rxjs/operators';
const intervals = interval(10); // Intervals are scheduled
// with async scheduler by default...
intervals.pipe(
observeOn(animationFrameScheduler), // ...but we will observe on animationFrame
) // scheduler to ensure smooth animation.
.subscribe(val => {
someDiv.style.height = val + 'px';
});
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)系方式:
更多建議: