我有一个组件,要在onInit的时间间隔内调用订阅:
ngOnInit() {
interval(5000).pipe(
takeWhile(() => this.isAlive))
.subscribe(() => {
this.initialization();
});
}
initialization() {
this.subscriptions.add(
this.someService.someMethod().subscribe(
data => {
this.myData = Object.assign({}, data);
this.var1 = this.myData.x; // Using var1 in HTML to bind to a text element
this.var2 = this.myData.y; // Using var2 in HTML to bind to a text element
}
)
);
}
var1Change(value) {
// Check if my code is in observable, once it is finish, execute save immediately. How to acheive it?
this.var1 = value;
this.myData.x = value;
this.callSave();
}
callSave() {
// Method to consume api to save data to file
}
因此每隔5秒钟,只要有数据更新,我的UI就会更新一次。
我可以从UI进行更改,也可以通过使用API来将数据保存到文件中,并且在发生模型更改时进行保存,然后仅进行保存。没有保存按钮。
所以我想要什么如果我的代码在可观察范围之内,我想等待保存发生
请仅以现有代码帮助我,因为我必须以这种方式使用间隔和保存呼叫
使用angular 8.2和rxjs 6.4
答案 0 :(得分:0)
我的理解是,如果正在进行更新,则要在保存之前等待。如果是这种情况,那么您可以执行以下操作。
...
"properties": {
"time": {
"type": "string",
"format": "date-time"
}
}
...