티스토리 뷰


import "rxjs/add/operator/takeWhile";


takeWhile() 을 이용하는 방법으로서 먼저 상기처럼 모듈을 임포트합니다. 그리고 멤버 변수로 boolean 을 선언한 후, 아래와 같이 subscribe() 를 호출합니다.


.....

private aliveResults: boolean = true;

.....



this.service.getResults().takeWhile(() => this.aliveResults).subscribe(




);


끝으로 ngOnDestroy 이벤트에서 다음과 같이 처리합니다.


ngOnDestroy() {

  this.aliveResults = false;

}


이와 같이 사용하면 별도 unsubsribe()를 호출하지 않아도 됩니다. 저의 경우, Ajax 호출 같은 시간이 걸리는 요청의 처리시 상기와 같은 방법을 사용합니다.

댓글
댓글쓰기 폼