наблюдаемый объем объекта ответа подписки - PullRequest
2 голосов
/ 23 апреля 2020

Я пытаюсь понять объем наблюдаемого ответа rjxs как часть вызова httpClient. Например, у меня есть служебный файл, который содержит следующий метод:

getUserDetails(): Observable<IUserDetails> {
return this.httpClient.get(this.url);
}

. Теперь этот метод службы используется внутри моего компонента, как показано ниже,

this.myService.getUserDetails().subscribe((response: IUserDetails) => {

});

. объект ответа и как происходит сборка мусора. Может кто-нибудь помочь мне с этим пониманием, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 23 апреля 2020

В javascript нет сборки мусора (о которой вам нужно беспокоиться). Область действия response внутри функции стрелки, которой она передается. Если вы хотите сделать что-то дополнительное с response в коде компонента, например, просмотреть его в шаблоне html, то создайте поле компонента и назначьте его из этого обратного вызова.

Пример:

user: IUserDetails;

ngOnInit() {
  this.myService.getUserDetails().subscribe((response: IUserDetails) => {
    this.user = response;
  });
}
0 голосов
/ 23 апреля 2020

Область действия response - это функция стрелки, которая имеет ее в качестве параметра. Я имею в виду

(response: IUserDetails) => {
   // Scope of response in this block
}

Сборка мусора зависит от стратегии управления памятью среды выполнения JS. Мы не влияем на это из кода Javascript, это делается автоматически.

...