Więc odpowiedź brzmi: nie, nie NG2 Cleanup po sobie
Źródłem usługi HTTP, z kątowym za Http użyciem nagłówków XHR źródła backend:
Wskazówki, jak biega " zakończyć "po uzyskaniu wyniku. Oznacza to, że faktycznie rezygnuje z subskrypcji po zakończeniu. Więc nie musisz tego robić sam.
Tutaj jest test do sprawdzania poprawności:
fetchFilms() {
return (dispatch) => {
dispatch(this.requestFilms());
let observer = this._http.get(`${BASE_URL}`)
.map(result => result.json())
.map(json => {
dispatch(this.receiveFilms(json.results));
dispatch(this.receiveNumberOfFilms(json.count));
console.log("2 isUnsubscribed",observer.isUnsubscribed);
window.setTimeout(() => {
console.log("3 isUnsubscribed",observer.isUnsubscribed);
},10);
})
.subscribe();
console.log("1 isUnsubscribed",observer.isUnsubscribed);
};
}
Zgodnie z oczekiwaniami, można zobaczyć, że zawsze jest anulowana automatycznie po otrzymaniu wyników, a skończywszy na obserwowalnych operatorów. Dzieje się to po przekroczeniu limitu czasu (# 3), dzięki czemu możemy sprawdzić status obserwowalnego, gdy wszystko zostanie zakończone.
a wynik
brak szczelności NG2 unsubscribes auto! DZIĘKI rubyboy o pomoc w tej sprawie ..
Możliwy duplikat [wycieków pamięci zapobiec na Kątowymi 2?] (Http://stackoverflow.com/ pytania/34461842/prevent-memory-leaks-in-angle-2) –
Zobacz http://stackoverflow.com/questions/34461842/prevent-memory-leaks-in-angular-2 (i komentarze również) –