在传感器组件中,我有以下代码每 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 返回轮询数据之前进行更新,则会出现问题。在这种情况下,看起来更改的数据被旧的未更改数据覆盖。下次轮询数据时,将反映用户所做的更改。
简短说明:
我有一个Angular2 +项目,我需要在.vscode文件夹中创建应该立即在我的Angular项目文件夹下的launch.json文件.我没有看到.vscode文件夹.
我可以使用命令提示符创建它,但我想知道为什么我的项目中没有一个当我遵循的指示假设它应该在那里?
我需要在 Java Spring Boot 应用程序(ProductDTO 和 Product)中合并对象。
ProductDTO 不包含来自 Product 的所有字段,我只想映射两个对象中相同的字段,同时保留目标对象中的其他值。
我来自 C# 世界,所以我不知道在 Java 中实现相同行为的最佳方法是什么。在 C# 中,我会这样做:
var project = new Project
{
Name = "Project 1",
Description = "Description"
};
var projectDto = new ProjectDTO
{
Name = "Project 1 (changed)"
};
Mapper.Map(projectDto, project);
Run Code Online (Sandbox Code Playgroud)
执行 Map 方法后,项目对象仍包含 Description 字段的原始值。
在 Java Spring 中执行此操作的最佳方法是什么?