【发布时间】:2018-01-19 07:53:39
【问题描述】:
我正在使用 instagram api。 api提供如下响应:
{
"pagination": {
"next_max_id": "blah",
"next_url": "api call url here"
},
"data": [{ "xyz" : "data i am interested in" }]
}
我正在使用它来获得可观察的结果:this.http.get(url).map(...)
我用subscribe 编写了自己的代码,它几乎导致了无限循环。我无法从分页的“next_url”中收集后续 api 调用的所有数据。
我阅读了有关使用 concatMap 和 flatMap 的信息,但需要更详细的解释和代码才能有效地执行此操作。
假设函数如下:
getApiResult(access_token) {
resulltObservable = this.http.get(url).map(res => res.json());
/*
logic to also get results from pagination
and aggregate all the results
*/
return finalResult;
}
注意:在某一时刻 pagination : {} 不会有 'next_url' 属性。我想停在那里。
【问题讨论】:
-
你想继续执行直到没有next_url
-
是的,在某一时刻
pagination : {}不会有任何财产。我想停在那里。
标签: javascript angular ionic-framework rxjs observable