각도에서 http 통화 신청을 취소해야 하는 거야?
아마 바보 같은 질문이지만 쉽게 답을 찾을 수 없었다.
사용 중인 각도 애플리케이션에서Rxjs
만들기 위해서http
데이터를 가져와서 서버에 게시하기 위한 호출서비스가 있다고 가정해 봅시다.MyService
다음과 같은 방법으로:
getData() {
this.http
.get("mybackendurl/mydata")
.map(res => res.json())
.subscribe(data => this.data = data);
}
그래서, 내가 이 방법을 몇 군데에서, 그리고 내가 한 페이지로 이동할 때마다 사용한다고 가정해보자.이런 식으로 하는 편리함과 상관없이, 제 질문은, 이것은 시작과 끝을 맺는 약속과 같지 않다는 것입니다, 제가 아는 한, 이것은 소스가 끝날 때까지 연결을 계속 열어두는 것으로 알고 있는데, 제가 요청을 끝낼 때마다 어떻게든 이로부터 구독을 취소할 필요가 있을까?
구독은 구성요소가 아닌 서비스로 진행되므로 서비스가 파괴되지 않으므로, 동일한 구독을 재사용하는 대신 여러 구독과 연결을 만들 수 있을 것 같다.
고마워!
Http 요청의 경우 구독을 취소할 필요가 없다.그것은 실제로 관측 가능한 것을 완성하기 때문에, 당신은 어떤 기억도 새지 않을 것이다.
다음을 사용하여 확인할 수 있다.add
의 기능Subscription
이의를 제기하다이 기능은 서브스크립션 가입이 취소될 때 호출된다.또한 당신은 지나가는 것을 통해 확인할 수 있다.complete
에 함수(세 번째 매개 변수)를 입력subscribe
요청 후에 호출될 기능이며 관찰이 완료됨을 의미한다.
this.http
.get("mybackendurl/mydata")
.map(res => res.json())
.subscribe(data => this.data = data)
.add(() => console.log('Unsubscribed'));
참조URL: https://stackoverflow.com/questions/48516432/do-we-need-to-unsubscribe-from-http-calls-in-angular
'Programing' 카테고리의 다른 글
경로 문자열을 개체 값과 결합하는 Vue JS v-bind 이미지 src 특성이 작동하지 않음 (0) | 2022.03.20 |
---|---|
가중치 있는 랜덤 버전.선택하다 (0) | 2022.03.20 |
조건일 경우 다른 조치 후 Redex 호출 조치 (0) | 2022.03.20 |
페이지 라우터용 vue-properner (0) | 2022.03.20 |
Vue 계산된 속성이 데이터 개체 변경 (0) | 2022.03.20 |