【发布时间】:2021-04-21 00:39:29
【问题描述】:
我最近刚刚升级到 Angular 11.2.9 和 RXJS 6.6.7。我的组件中有这个...
ngOnInit(): void {
window.addEventListener('blur', this.onBlur, false);
...
}
...
onBlur(): void {
this.trendingSet$ = timer(1, HotComponent.REFRESH_INTERVAL_IN_MS).pipe(
switchMap(() => this.apiService.getTrending()),
retry(),
share(),
takeUntil(this.stopPolling)
);
console.log(this.trendingSet$);
this.trendingSet$.subscribe((result: TrendingSet) => {
this.articleStats = result.trending_articles;
});
}
但是,我收到此错误
this.trendingSet$.subscribe((result: TrendingSet) => {
行:
ERROR TypeError: You provided 'undefined' where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.
RxJS 4
onBlur hot.component.ts:90
Angular 14
ngOnInit hot.component.ts:35
Angular 21
RxJS 5
Angular 8
emit
checkStable
onHasTask
hasTask
_updateTaskCount
_updateTaskCount
runTask
drainMicroTaskQueue
core.js:6210
Angular 3
RxJS 5
Angular 20
RxJS 10
onBlur hot.component.ts:90
Angular 14
ngOnInit hot.component.ts:35
Angular 21
RxJS 5
Angular 8
在我的组件中设置计时器以定期查询服务方法的正确方法是什么?
【问题讨论】:
标签: angular timer rxjs angular11