[RxJS] bufferCount 써보기
2022. 5. 8. 20:45ㆍ개발/Node & Javascript
728x90
반응형
개요
- stream으로 값을 불러오는 경우 여러개의 값을 bulk로 처리하고 싶을 때가 있다.
- 이 때 bufferCount를 통해서 여러값을 처리하도록 만들어 보자.
예제
- test generator를 생성한다.
const sleep = async function (ms: number): Promise<void> {
return new Promise(resolve => {
setTimeout(resolve, ms);
});
}
const doBackground = async (count: number, subscriber: Subscriber<number>) => {
for (let i = 0; i < count; i++) {
if (count % 4 == 0) {
await sleep(10);
};
subscriber.next(i);
}
subscriber.complete();
};
const generator = (count: number): Observable<number> => {
return new Observable( subscriber => {
doBackground(count, subscriber).then(console.log).catch(console.error);
return ;
});
};
- bufferCount를 통해서 묶어서 처리해준다.
from(generator(1000))
.pipe(
bufferCount(100),
map((items) => console.log(items)),
).subscribe({
error: (error) => console.error('error', error),
complete: () => console.log('end')
});
728x90
반응형
'개발 > Node & Javascript' 카테고리의 다른 글
[RXJS] from vs of 차이 (3) | 2022.06.27 |
---|---|
[Nest.js] graceful shutdown을 구현하자. (0) | 2022.06.12 |
[RxJS] Promise.all 대신 mergeMap 써보기 (0) | 2022.05.08 |
JS - flame graph로 cpu profiling (1) | 2022.04.24 |
Sharp.js로 blurhash 이미지 합성하기 (1) | 2022.03.31 |