使用rxjs interval时不会调用Observer回调

时间:2016-09-15 15:26:20

标签: javascript angular typescript rxjs

我有这个方法:

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');
    });
  }
}

这不起作用。没有记录“IN ANOTHER CLASS”。我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

如果您仅使用实时TypeScript转换器对此进行测试,那么当您没有专门包含Observablefrom运算符时,它不会引发错误(即使我不知道#39;不知道为什么。)

我已添加到app.component.ts的顶部,现在可以使用了:

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

在plnkr.co上查看您的演示:http://plnkr.co/edit/uVnwG3bo0N8ZkrAgKp7F