WS请求:承诺与可观察的最佳实践

时间:2018-03-13 10:32:05

标签: angular rxjs

假设我有一个应用程序:

accident.service.ts:

getAccident : Observable<Accident> {
const url = 'myWSUrl';
    return this.http.get(url)
      .map((res: Response) => {
        return res.json();
      })
      .map((json) => {
        return plainToClass(Accident, json);
      }).share();
}

accident.component.ts

 ngOnInit() {
this.accidentService.getDepartmentsStream().takeUntil(this.ngUnsubscribe).subscribe(accident => {
      this.accident = accident;
    });

我在其中显示事故属性的视图。

一旦我从WS发生意外,使用可观察/订阅原因是明智的,我不需要再“收听”新事件了。 有了承诺,只要我得到结果,就没有更多的倾听者,但从我所理解的,通过可观察和订阅,订阅仍然会听,这是无用的,因为它不会发生。 我是对的吗?

1 个答案:

答案 0 :(得分:1)

取消订阅后,您对可观察对象的订阅不再有效。 (或者使用takeUntil

完成订阅条件

以下是Ben Lesh对此的详细post