0

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

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

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

我在网上阅读了很多,我所做的一切似乎都与其他人所做的相匹配。我只是无法弄清楚这一点,并且非常感谢有人花时间为我看看这个。

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

多谢你们。

r

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

2

最简单的方法是以固定的时间间隔轮询服务器。您可以使用 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,请注意不要向它们发送请求。查看他们的文档以确定什么是合适的间隔,什么不是合适的间隔。

于 2020-06-20T21:31:43.660 回答