我使用角度2和它的http组件.
我想调用一个REST API来返回一个Elements列表.该列表的大小限制为100个条目.如果有更多项目,hasMore将在响应中设置标志.然后,您必须使用参数page = 2再次调用API.有一个Observable,两个服务器响应都会很好.我的代码看起来像这样:
call({page: 1})
.map(res => res.json())
.do((res) => {
if(res.meta.hasMore){
// do another request with page = 2
}
}
.map(...)
.subscribe(callback)
Run Code Online (Sandbox Code Playgroud)
call是一个函数,它将使用http模块发出请求并返回一个Observable.在if语句中,我想创建另一个http请求并将结果放在同一个Observable上,以便在subscribe中注册的回调将被调用两次(每次响应一次).
我不确定该怎么做.我尝试使用flatMap来发出下一个请求,但没有成功.
我正在使用angular2 observable模式来发出http请求.我正在尝试有条件地重复http get:我想执行http get,直到满足条件:
http.get('url')
.map(res => {
// if the condition is met I should repeat the http get request
})
.subscribe()
Run Code Online (Sandbox Code Playgroud)
有条件重复http get请求的方法吗?
谢谢,马可