W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
使用指定的調度程序從源 Observable 重新發(fā)出所有通知。
observeOn<T>(scheduler: SchedulerLike
, delay: number = 0): MonoTypeOperatorFunction
<T>
調度器 | 計劃程序,將用于重新計劃來自源 Observable 的通知。 |
---|---|
延遲 | 可選的。 默認值為 0 。 指出應重新安排每個通知的延遲時間的毫秒數。 |
MonoTypeOperatorFunction<T>
:發(fā)出與源 Observable 相同的通知的 Observable, 但提供了調度程序。
確保從 Observable 外部使用特定的調度程序。
observeOn
是一個接受調度程序作為第一個參數的運算符,該參數將用于重新調度 源 Observable 發(fā)出的通知。 如果您無法控制,這可能會很有用 給定 Observabl e的內部調度程序,但仍想控制何時發(fā)出其值。
返回的 Observable 發(fā)出與源 Observable 相同的通知(下一個值,完成和錯誤事件), 但已使用提供的計劃程序進行了重新計劃。 請注意,這并不意味著源 Observables 內部 調度程序將以任何方式替換。 仍將使用原始調度程序,但是當源 Observable 發(fā)出時 通知,它將立即再次進行安排-這次將 Scheduler 傳遞給 observeOn
。 一個反模式將調用 observeOn
Observable,它會同步發(fā)出大量值,以進行拆分 排放成異步塊。 為此,必須將調度程序傳遞到源中 直接可見(通常在創(chuàng)建它的操作員中可見)。 observeOn
只是延遲通知 多一點,以確保它們在預期的時刻發(fā)出。
實際上, observeOn
接受第二個參數,該參數指定以毫秒為單位的延遲通知 將被發(fā)射。 之間的主要區(qū)別 delay
和 observeOn
是 observeOn
將延遲所有通知-包括錯誤通知-Simultaneously delay
會通過錯誤 從源發(fā)出后立即可觀察。 通常,強烈建議使用 delay
運算符 用于流中值的任何類型的延遲,Simultaneously observeOn
用于指定應使用哪個調度程序 一般用于通知排放。
確保在重新繪制瀏覽器之前調用 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號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: