Angular 角度7-发射器和轮询器(调用两次)

Angular 角度7-发射器和轮询器(调用两次),angular,Angular,事件发射器和轮询器有问题 在我的过滤组件中,我有: ngOnInit() { this.map_ready_subscription = this._eventEmitterService.map_ready.subscribe(value => this.firstSearch()); this.poller_source = interval(60000); //refreshing map every 1 minute this.poller_subs

事件发射器和轮询器有问题

在我的过滤组件中,我有:

ngOnInit() 
{
    this.map_ready_subscription = this._eventEmitterService.map_ready.subscribe(value => this.firstSearch());
    this.poller_source    = interval(60000); //refreshing map every 1 minute
    this.poller_subscribe = this.poller_source.subscribe(val =>  this.applyFilter());
}

firstSearch()
{
  this.map_ready_subscription.unsubscribe();
  this.applyFilter();
}
map_ready在另一个具有“true”值的组件中发出。当映射组件就绪时,我可以使用默认的过滤器值启动第一次搜索

正如您从代码中看到的,然后我创建了一个轮询器,以每60秒刷新一次过滤器

在我的前端,我有一个过滤器值更改的表单。单击我调用applyFilter

问题在于民意调查者。 一分钟后,applyFilter每次调用两次。一个具有“firstSearch”参数,另一个具有当前筛选器值

正如你们所看到的,我在第一次搜索时尝试从emitter取消订阅,但它不起作用。 我也在onDestroy中添加了一个取消订阅:

ngOnDestroy() 
  {
    if (this.poller_subscribe !== undefined)
    {
      this.poller_subscribe.unsubscribe();
    }
  }

有什么线索吗?

您说使用不同的参数调用了两次applyFilter,但在您的代码片段中,调用applyFilter时没有参数?参数是表单组件与ngModel使用的组件的局部变量