我正在尝试执行 3 个异步操作(可观察),一个在另一个内部。1. 第一个 observable 是模态对话框 eventEmiter 的响应 - 流程的其余部分取决于它的响应(假设模态返回布尔发射器涉及:“你想删除项目”)。2. 第二个 observable 是更新(删除)动作 3. 第三个是取回删除后的新数据。
我正在使用 rxjs- 并尝试弄清楚如何在不订阅订阅的情况下做到这一点。查看我的代码:
subscriptions : Subscription[] = [];
openDeleteDialog(data : any)
{
const modalRef : NgbModalRef = this.modalService.open(ConfirmationDialogComponent); //Modal dialoge reference
this.subscriptions.push(modalRef.componentInstance.passResult.subscribe(
(result =>//This is the response from the modal dialog
{
if (result)
{
let updateApi : UpdateApi = new UpdateApi(data);
this.srv.updateData(updateApi).pipe( //This is the update operation
tap(() =>
{
this.srv.getData(); //This is the fetch data operation
}
)
).subscribe();
}
}
)
));
}