我有API返回的照片列表对象,这是我想用订阅()来遍历..不是一次,而是逐一 ..Angular2 RxJs地图HTTP响应
http.get('photos.json')
.map(res => res.json());
哪我可以使用函数(地图,平面地图...)将响应转换为多个数组,因此使用订阅时,它将一个接一个地迭代..而不是所有的响应。
JSON example file
我有API返回的照片列表对象,这是我想用订阅()来遍历..不是一次,而是逐一 ..Angular2 RxJs地图HTTP响应
http.get('photos.json')
.map(res => res.json());
哪我可以使用函数(地图,平面地图...)将响应转换为多个数组,因此使用订阅时,它将一个接一个地迭代..而不是所有的响应。
JSON example file
Flatmap将做到这一点,如果你创建了一个可观察出结果数组。
yourPhotosArray.flatMap(photos => Observable.from(photos))
将您的照片数组转换成可观察
您可以使用flatMap
:
http.get('photos.json')
.map(res => res.json())
.flatMap((array, index) => array)
.filter(photo => 600 <= photo.height)
.subscribe(photo => console.log(photo))
你要遍历图像,对不对? – acdcjunior
是的,但不是通过将完整图像传递给角度,而是使它们可以变形。所以我们可以在迭代它们之前应用更多的过滤器。 – Basit
你已经有了答案。您只需从'rxjs/add/operator/mergeMap'中导入它(flatMap是mergeMap的别名),请参阅https://github.com/ReactiveX/RxJS/blob/master/src/add/operator/mergeMap。 TS –