Я хочу знать, когда отписаться от подписки на Observable. И когда нет необходимости отписываться. Трудно понять концепцию подписки.
Я приведу вам пример:
this.http
.get(
environment.baseUrl + "/user/init",
this.storageService.getAuthHeader(),
)
.subscribe(
(user: AppUser) => {
console.log(user.username);
this.currentUser = user;
},
(err: HttpErrorResponse) => {
log(err);
this.router.navigateByUrl("/login");
},
)
.add((teardown: TeardownLogic) => {
// this will get called always after the User is retrieved/ subscription is unsubscribed
console.log("Unsubscribe automatically ?");
});
в этом вызове я получаю Наблюдаемую. Но мне говорят, что мне нужно вручную «отписаться» от каждой подписки после уничтожения компонента. Но никто не может однозначно объяснить, почему.
Также я всегда получаю рекомендацию использовать Pipes (что, я думаю, имеет смысл при работе с несколькими асинхронными вызовами, которые зависят друг от друга), но мне интересно, когда использовать это потому, что весь вызов pipe (). take (1) ... кажется случайным или похожим на обходной путь"
Я также читал документацию о Подписки Rx JS, которые не очень мне помогают, но знать, что «teardownLogi c» всегда будет применяться после .unsubscribe ()
Я также читаю Разница между методами .pipe () и .subscribe () на RX JS наблюдаемой
и
Angular / Rx Js Когда я должен отписаться от `Подписки`
, которые на самом деле не отвечают" механике "Подписки в Rx JS / Angular