我有一个使用id:null初始化的Organization实例。在以下代码中,我检测到这种情况以确定是否在服务上调用create或update:
private saveOrganisation() {
console.log('1 ' + JSON.stringify(this.organisation));
if (this.organisation.id === null) {
// we are creating a new one
this.organisationService.create(this.organisation).subscribe(res => {
console.log('2 ' + res);
console.log('3 ' + JSON.stringify(this.organisation));
return this.organisation = res;
});
} else {
this.organisationService.update(this.organisation).subscribe(res => {return this.organisation = res;});
}
console.log('4 ' + JSON.stringify(this.organisation));
}
我将此实例作为由" this.organisation"引用的成员变量。在订阅的主体中,我设置了#34; this.organisation"随着回应。
第四个console.log在2和3之前触发,而我知道subscribe是异步的,我发现虽然我在日志中看到2和3,但id仍然没有更新,后续调用saveOrganisation()显示我得到的空值为4(在1和2中)。我想知道this.organisation 曾经更新。
谁能告诉我发生了什么?