Rxjs의 pipe 주요 명령어 (Rxjs Pipe Operators)
rxjs에서 pipe에서 주로 사용하는 명령들을 정리하였습니다.
take(n)
n번 subscribe 후 해제
this.mount.pipe(take(2)).subscribe();
takeUntil(Observable)
Observable이 데이터를 받거나 완료되면 해제
unsubscribe: Subject = new Subject(void);
public ngOnInit() {
this.tagService.getTags({category: 'keyword'})
.takeUntil(this.unsubscribe)
.subscribe(tags => {
this.tags = tags;
});
}
public ngOnDestroy() {
this.unsubscribe.next();
this.unsubscribe.complete();
}
takeWhile(function)
함수가 true이면 해제
alive = true;
ngOnInit() {
this.filterChange$
.takeWhile(() => this.alive)
.subscribe(filter => {
// 필터가 변경되었을때의 처리
});
this.keywordChange$
.takeWhile(() => this.alive)
.subscribe(keyword => {
// 키워드가 변경되었을때의 처리
});
}
ngOnDestroy() {
this.alive = false;
}
takeLast(n)
마지막 n번째 값만 처리하고 해제. 마지막이 어디인지 명확히 알아야 함
first()
첫번째만 처리하고 해제
this.mount.pipe(first()).subscribe();
take(function)
조건이 맞으면 해제
this.mount.pipe(take(2)).subscribe();
skip(n)
1부터 n개 스킵하고 나머지만 처리
Last() , Last(function)
takeLast(1)과 동일하거나 조건에 맞는 최종 데이터만 처리
SkipLast(n)
마지막부터 n개 스킵한 나머지만 처리
SkipUntil(Observable)
Observable이 Observable이 데이터를 받거나 완료되기 전까지를 스킵
SkipWhile(function)
함수가 true이기 전까지 스킵
- 위의 내용은 Rxjs 공식 홈페이지를 참조하였습니다.
- RxJS
댓글남기기