Angular V9 异步管道未在数据更改时更新模板视图

Angular V9 Async pipe not updating template view on data change

伙计们,我现在几乎停滞不前了。我正在使用一个小型服务从 API 获取详细信息,返回一个 JSON 对象。我将其作为服务方法中的 Observable 返回;然后在 class 创建时用它初始化本地组件变量“sateliteData$”。

在 HTML 我正在尝试使用 |异步管道来处理自动更改检测,因为此 API 的值每秒都会更改。但是当查看我的应用程序时,它获取第一组值并将它们显示到屏幕上,但从不更新它们。

您必须手动刷新页面才能获得不同的值,这是我试图通过使用 Observables 和 | 来避免的。异步管道。

我在网上看了很多,我所做的一切似乎都与其他人所做的相匹配。我只是想不通,非常感谢有人花时间帮我看看这个。

请参阅下面的代码屏幕截图。

谢谢大家。

最简单的方法是以固定时间间隔轮询服务器。您可以使用 rxjs

实现此目的
polling$ = interval(2000).pipe(switchMap(_ => this.service.MyGetRequest()));

您可以在此处看到最小的工作堆栈闪电战:https://stackblitz.com/edit/angular-ivy-ebebp4

有关简单轮询的更多信息,请点击此处:https://www.learnrxjs.io/learn-rxjs/recipes/http-polling

如果您正在轮询不属于您的外部服务或 API,请注意不要向它们发送大量请求。查看他们的文档以确定什么是合适的间隔或不合适的间隔。