Programing

각도에서 http 통화 신청을 취소해야 하는 거야?

c10106 2022. 3. 20. 12:34
반응형

각도에서 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

반응형