【发布时间】:2016-11-13 12:20:24
【问题描述】:
我正在使用 angular 2,它是 http 组件。
我想调用将返回元素列表的 REST API。该列表的大小限制为 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)
call 是一个函数,它将使用 http 模块发出请求并返回一个 Observable。在 if 语句中,我想发出另一个 http 请求并将结果放在同一个 Observable 上,这样注册到 subscribe 的回调将被调用两次(每个响应一次)。
我不确定该怎么做。我尝试使用 flatMap 发出下一个请求,但没有成功。
【问题讨论】:
标签: javascript angular rxjs