W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
異步地在指定上將 Observable 訂閱此 Observable SchedulerLike
。
subscribeOn<T>(scheduler: SchedulerLike
, delay: number = 0): MonoTypeOperatorFunction
<T>
調(diào)度器 | 在 SchedulerLike 上執(zhí)行訂閱操作。 |
---|---|
延遲 | 可選的。默認(rèn)值為0 。類型:number 。 |
MonoTypeOperatorFunction<T>
:對源 Observable 進行了修改,使其訂閱發(fā)生在指定的SchedulerLike
。。
subscribeOn
您可以使用它來確定特定 Observable 訂閱時將使用哪種調(diào)度程序。
調(diào)度程序控制可觀察流向觀察者的發(fā)射速度和順序。
給出以下代碼:
import { of, merge } from 'rxjs';
const a = of(1, 2, 3, 4);
const b = of(5, 6, 7, 8, 9);
merge(a, b).subscribe(console.log);
一旦被觀察到a
,這兩個 Observable b
都會直接并同步地發(fā)出它們的值。這將導(dǎo)致輸出1 2 3 4 5 6 7 8 9
。
但是,如果改為使用subscribeOn
運算符,則聲明要使用async
發(fā)出的值a
:
import { of, merge, asyncScheduler } from 'rxjs';
import { subscribeOn } from 'rxjs/operators';
const a = of(1, 2, 3, 4).pipe(subscribeOn(asyncScheduler));
const b = of(5, 6, 7, 8, 9);
merge(a, b).subscribe(console.log);
輸出將改為5 6 7 8 9 1 2 3 4
。這是因為 Observable b
像以前一樣直接且同步地發(fā)出其值,但從a
該事件發(fā)出的消息已安排在事件循環(huán)
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: