在传感器组件中,我有以下代码每 5 秒轮询一次数据:
Observable
.interval(this.sensorsRefreshRate * 1000)
.startWith(0)
.switchMap(() => Observable.fromPromise(this.getSensorsPromise(this.hubId)))
.subscribe(res => {
this.sensors = res.data;
})
Run Code Online (Sandbox Code Playgroud)
在组件的模板中,我为传感器阵列中的每个项目生成一个子 Sensor 组件。
<app-sensor
[sensor]="sensor"
*ngFor="let sensor of sensors; trackBy: trackByFn">
</app-sensor>
Run Code Online (Sandbox Code Playgroud)
子传感器组件负责更新传感器。
如果在 API 返回轮询数据之前进行更新,则会出现问题。在这种情况下,看起来更改的数据被旧的未更改数据覆盖。下次轮询数据时,将反映用户所做的更改。
简短说明:
| 归档时间: |
|
| 查看次数: |
151 次 |
| 最近记录: |