超时后如何取消订阅和重新订阅?

时间:2017-01-11 22:03:52

标签: angular firebase firebase-realtime-database angularfire2

我需要取消订阅,然后重新订阅或以某种方式暂停和忽略Observable的所有发出值。

在我的组件中,我订阅了我的Observable:

    this.controllingSubscription =
  this.route.params
    .switchMap(p => this.controllingService.getSaleComparison(p)
    .subscribe(res => {
      this.controlEnt = res;
      this.isLoading = false;
    });

在服务中,我检查对象的existenece,如果没有,则将任务推送到服务器获取任务并获取信息的队列:

this.af.list(`wawi/statistics/salesVolComparison/${platformId}/${year}/${month}`)
          .do(res => {
            if(res.length === 0)
              this.af.list('queue/tasks').push({task: 'salesComparison', platform: platformId, year: year, month: month});
          })

问题是,服务器然后将列表推送到数据库,客户端获取每个条目的列表。因此,如果我有1000个条目,我会返回1000个响应,每个响应都会有一个条目,而不是整个列表中的一个响应。

有人知道如何解决这个问题吗?感谢。

0 个答案:

没有答案