有一个对服务器的调用,订阅监听它,然后它返回一个对象,从中获取一个带有订单号的数据数组。通过这些订单号,我然后循环发出请求,订阅它们并将它们推送到通用数组。
let collect = [];
this.service.getData(url1).subscribe(
res = > { // Возвращает: {Object:[{key:number},{key:number}]}
orderArray = [];
for (let items of res.Object) {
orderArray.push(items.key);
}
if(orderArray) {
for (let i = 0; i < orderArray.length; i++) {
this.service.getData(otherUrl).subscribe(
res2 = > { // {item: 'имя'}
collect.push(res2.item)
}
)
}
}
}
)
问题是我不能再使用 collect 了。它是空的...如何收集数据?
使用
pipeable运算符并避免订阅中的订阅: