[英]RXJS: How to combine into an array multiple HTTP Requests that returns an object
嗨,我有一个返回object
的方法,我计划在最后一次成功调用后调用n
次并combine
成一个array
。
public getActivity({minprice, maxprice, type}: QueryParams) {
const url = `${BASE_URL}?minprice=${minprice}&maxprice=${maxprice}&type=${type}`;
return this.httpClient.get(url);
}
我不太确定如何在 rxjs 中做到这一点,但我的预期输出是这样的:
activities = [{
fetchedItemId: 1
},
{
fetchedItemId: 2
},
{
fetchedItemId: 3
}
]
getActivity() {
from(new Array(5))
.pipe(
mergeMap(() => this.appService.getActivity(this.filter)),
filter((activity: Activity) => !activity.error),
toArray(),
)
.subscribe((activities: Activity[]) => {
this.activities = activities;
});
}
我设法通过管道、mergeMap、filter 和 toArray 的组合来解决它
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.