当使用rxjs interval时,不会调用观察者回调

Observer callback is not invoked when using rxjs interval

本文关键字:调用 观察者 回调 rxjs interval      更新时间:2023-09-26

我有这个方法:

export class PeriodicData {
  public checkForSthPeriodically(): Subscription {
   return Observable.interval(10000)
    .subscribe(() => {
      console.log('I AM CHECKING');
      this.getData();
    });
  };
  public getData(): Observable<MyObject> {
    let objects: MyObject[] = this.filterData();
    return Observable.from(objects);
  }
  public filterData(): MyObject[] {
    let someData;
    // someData = filter(...) // logic to filter data
    return someData;
  }
}

现在我订阅getData()在另一个类:

class Another {
  constructor(private periodicData: PeriodicData ) {
    this.periodicData.getData().subscribe(obj => {
      console.log('IN ANOTHER CLASS');
    });
  }
}

这是不工作。"在另一个班级"没有被记录。我错过什么了吗?

如果你只使用实时TypeScript转译器进行测试,那么当你没有特别包含Observablefrom操作符时(尽管我不知道为什么),它不会抛出错误。

我添加到app.component.ts的顶部,它现在工作:

import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/from';

看你的演示在plnkr。公司:http://plnkr.co/edit/uVnwG3bo0N8ZkrAgKp7F