我有一组对象。我需要获取ID数组,然后调用2个API,然后关闭模式窗口。
我的代码是:
from(this.alerts)
.pipe(map(alert => alert._id))
.subscribe(alertIds => zip(
this.alertApi.someCall1(alertIds, ...),
this.alertApi.someCall2(alertIds, ...),
).subscribe(() => {
this.activeModal.close();
}),
);
您对防止subscribe
内的subscribe
有任何想法吗?
使用switchMap
rxjs运算符来避免嵌套订阅。
from(this.alerts)
.pipe(
map(alert => alert._id),
switchMap(alertIds => zip(
this.alertApi.someCall1(alertIds, ...),
this.alertApi.someCall2(alertIds, ...)
))
)
.subscribe(() => {
this.activeModal.close();
);
可在here中找到有关switchMap运算符的更多信息。