【发布时间】:2023-03-23 06:50:02
【问题描述】:
我有两个嵌套的 observable,第一个 observable 提供了一个 ID,它作为参数传递给第二个 observable userTypeID。
目标是返回一个基于 actionType 的 Observable,它可以是 view 或 edit,以便执行此类操作。
// returns view object
getPresentationFields('view').subscribe(data => console.log(data));
// returns edit object
getPresentationFields('edit').subscribe(data => console.log(data));
但是,由于我已经订阅了 getPresentationFields(...) 中的 Observables,所以我不能订阅上面写的函数本身。
getPresentationFields(actionType: string) {
this.customerService.getUserByID(this.id).subscribe(user => {
this.presConfigService.getPresConfig(user.userTypeID).pipe(
flatMap((configs) => configs), // ----[obj1, obj2, obj3]----
filter((configs) => configs.show) // ----obj1----obj2----obj3----
).subscribe(() => {
if(actionType == 'view'){
// Return View Observable
}else if(actionType == 'edit'){
// Return Edit Observable
}
});
});
}
如何根据传递给 getPresentationFields('view') 或 getPresentationFields('edit') 的参数返回 Observable?
【问题讨论】:
标签: angular rxjs observer-pattern