partition
signature: partition(predicate: function: boolean, thisArg: any): [Observable, Observable]
partition(predicate: function: boolean, thisArg: any): [Observable, Observable]하나의 옵저버블을 조건에 따라 나눕니다.
예시
예시 1: 홀수, 짝수로 나눕니다.
( StackBlitz | jsBin | jsFiddle )
// RxJS v6+
import { from, merge } from 'rxjs';
import { partition, map } from 'rxjs/operators';
const source = from([1, 2, 3, 4, 5, 6]);
//true일 때는 첫번째 변수, false일 땐 두번째 변수에 담습니다.
const [evens, odds] = source.pipe(partition(val => val % 2 === 0));
/*
결과:
"Even: 2"
"Even: 4"
"Even: 6"
"Odd: 1"
"Odd: 3"
"Odd: 5"
*/
const subscribe = merge(
evens.pipe(map(val => `Even: ${val}`)),
odds.pipe(map(val => `Odd: ${val}`))
).subscribe(val => console.log(val));예시 2: success과 error로 나눕니다.
( StackBlitz | jsBin | jsFiddle )
예시 3: (v6.5+) static function으로의 partition
( StackBlitz )
추가 자료
partition 📰 - 공식 문서
📂 Source Code: https://github.com/ReactiveX/rxjs/blob/master/src/internal/observable/partition.ts
Last updated
Was this helpful?