Angular 5 HttpClient GET-Request未关闭

时间:2018-04-17 21:06:47

标签: angular typescript http http-get subscribe

我正在使用Http-GET请求从我的后端接收一些json。

服务:

public categories: BehaviorSubject<Category[]> = new BehaviorSubject(null);           

constructor() {
   const sub = this.http.get<ResponseInterface>(environment.apiUrl +  'categories')
     .subscribe(response => {
        categories.next(response.data)
     }, (error: any) => {
        sub
     }, () => { 
        sub.unsubscribe();
   });
}

组件:

this.service.categories.subscribe(categories => {
      if (categories !== null) {
        this.categories = categories;
      }
    });

开发中的一切都很好(ng serve --aot)

如果我在生产中使用该请求,则会降低浏览器的速度,因此我必须手动结束脚本才能再次使用我的浏览器。但令人惊讶的是,只要我停止脚本,请求的答案就会出现在网络标签中。

Network log

但最烦人的是这个错误只出现了9/10次。有没有人见过类似的东西?

1 个答案:

答案 0 :(得分:1)

我可以通过将一个空数组([])分配给BehaviorSubject而不是null来解决问题。

public categories: BehaviorSubject<Category[]> = new BehaviorSubject([])