Какова наилучшая практика отмены подписки в службе Angular2 из подписки на http?Angular2: Отказаться от http, наблюдаемого в службе
В настоящее время я делаю это, но я не уверен, что это будет лучший способ.
import { Injectable } from "@angular/core";
import { Http } from "@angular/http";
import { Subject } from "rxjs/Subject";
import { ISubscription } from "rxjs/Subscription";
@Injectable()
export class SearchService {
private _searchSource = new Subject<any>();
public search$ = this._searchSource.asObservable();
constructor(private _http: Http) {}
public search(value: string) {
let sub: ISubscription = this._http.get("/api/search?value=" + value)
.map(response => <any>response.json())
.do(data => this._searchSource.next(data))
.finally(() => sub.unsubscribe()).subscribe();
}
}
Кажется излишним и бессмысленным, чтобы отказаться от подписки, когда наблюдаемое завершено. –
@ günter-zöchbauer Ну, это был не мой вопрос, если это имеет смысл, мой вопрос: Какая лучшая практика. Так? –
Я не думаю, что есть лучшие практики для вещей, которые не имеют смысла: D Возможно, просто ... не делайте этого. –