W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
將源Observable分為兩個(gè),一個(gè)具有滿足謂詞的值,另一個(gè)具有不滿足謂詞的值。
改用partition
靜態(tài)創(chuàng)建函數(shù)
partition<T>(predicate: (value: T, index: number) => boolean, thisArg?: any): UnaryFunction
<Observable
<T>, [Observable
<T>, Observable
<T>]>
謂詞 | 評(píng)估源 Observable 發(fā)出的每個(gè)值的函數(shù)。如果返回true ,則在返回?cái)?shù)組的第一個(gè) Observable false 上發(fā)射該值,如果 該值在數(shù)組的第二個(gè) Observable 上發(fā)射。該 index 參數(shù)是i 從訂閱以來發(fā)生的第 i 個(gè)源發(fā)射的編號(hào)0 。 |
---|---|
thisArg | 可選的。默認(rèn)值為undefined 。一個(gè)可選的參數(shù)來確定的值this 的predicate 功能。 |
UnaryFunction<Observable<T>, [Observable<T>, Observable<T>]>
:具有兩個(gè) Observables 的數(shù)組:一個(gè)具有通過謂詞的值,另一個(gè)具有未通過謂詞的值。
類似于 filter
,但返回兩個(gè) Observables:一個(gè)類似于的輸出 filter
,另一個(gè)則具有未通過條件的值。
partition
輸出帶有兩個(gè) Observable 的數(shù)組,該數(shù)組通過給定predicate
函數(shù)對(duì)源 Observable 中的值進(jìn)行分區(qū)。該數(shù)組中的第一個(gè) Observable 發(fā)出源值,謂詞參數(shù)對(duì)其返回 true。第二個(gè) Observable 發(fā)出謂詞返回 false 的源值。第一個(gè)行為類似于filter
,第二個(gè)行為filter
與否定謂詞相似。
將點(diǎn)擊事件分區(qū)為 DIV 元素上的事件和其他位置上的事件
import { fromEvent } from 'rxjs';
import { partition } from 'rxjs/operators';
const clicks = fromEvent(document, 'click');
const parts = clicks.pipe(partition(ev => ev.target.tagName === 'DIV'));
const clicksOnDivs = parts[0];
const clicksElsewhere = parts[1];
clicksOnDivs.subscribe(x => console.log('DIV clicked: ', x));
clicksElsewhere.subscribe(x => console.log('Other clicked: ', x));
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)系方式:
更多建議: