【发布时间】:2021-05-25 18:46:09
【问题描述】:
我有一种情况,我在我的打字稿文件中定义了一个变量diary: Diary。当用户单击某个保存按钮时,我必须执行f1,该函数具有以下结构:
public f1() {
if (condition 1) {
this.service.serviceCall(param).subscribe(res =>
diary.firstPage.push(res)
)
}
if (condition 2) {
this.service.serviceCall(param).subscribe(res =>
diary.secondPage.push(res)
}
if (condition 3) { ... }
...
}
f1() 在 f2() 之前执行,它执行以下操作:
public f2() {
this.diaryService.saveDiary(diary).subscribe();
}
由于f1修改了diary标签,我必须确保f2只有在f1的所有订阅都完成后才执行。我该怎么做?
【问题讨论】:
-
任何需要在 observable 完成后执行的逻辑都应该进入
subscribe(res => {})块。 -
问题是:从哪里开始?我不知道
f1()中哪个订阅会是第一个订阅。有时只执行一个,有时一个都不执行,有时全部执行。
标签: angular synchronization subscription