【发布时间】:2018-03-26 04:18:02
【问题描述】:
<button (click)="onSaveItems()">Save</button>
this.selectedItems = [
{'id': 1, name: 'A'},
{'id': 2, name: 'B'},
{'id': 3, name: 'C'},
{'id': 4, name: 'D'},
{'id': 5, name: 'E'}
]
this.apiService1.deleteAllItems()
this.apiService2.addItem(itemId)
this.apiService3.addItemLog(itemId)
this.apiService4.addFlag()
当用户点击保存按钮时,我想:
- 调用apiService1并删除所有项目
- 如果步骤 1 成功,我想调用 apiService2 来添加选中项
- 如果步骤 2 成功,我想调用 apiService3 为该特定项目添加项目日志
- 对 selectedItems 中的每个项目重复步骤 2.i 3.
- 如果所有项目日志都添加成功我想调用 apiService4
(请注意,我无法更改 API 逻辑)
有没有办法用 Angular 和 RxJS 做到这一点?
【问题讨论】:
-
我不知道
this.apiService1的实现,但你会想订阅rxjs 中的每个结果。所以例如..deleteAllItems().subscribe(() => ... 下一步...)