0
我有一个关于观察到的问题。 例如,我们的API,并发送reguest有:可观察 - 使动态请求的队列(角4)
this.http.get('https://swapi.co/api/people/').subscribe(peoplesData => {
let peoples = peoplesData.json();
let nextPage = peoples.next; // https://swapi.co/api/people/?page=2
this.peoples = peoples.results;
});
当我第一次发送的请求,我将获得下一个请求的URL(在这个例子中,URL中包含“下一页”)。 我需要创建方法,这将使所有请求,以后每请求将全部添加“结果”到“this.peoples”。 我认为,.mergeMap和switchMap不适合它。 也许是你有更多的expirience与可观察?请用这种方法帮助我。
更新 我解决了这个问题.expand:
return this.http.get('https://swapi.co/api/people/')
.expand(peoplesData => {
let peoples = peoplesData.json();
if (peoples.next) {
return this.http.get(peoples.next);
} else {
return Observable.empty();
}
})
.map(peoples => peoples.json());
至于我在这里可以看到,唯一的问题在您的文章是“你对Observables的使用经验比我多吗?”而且,链接因为过期而不好。编辑你的帖子以包含链接的代码,PLZ。 –
@TheHeadRush,谢谢你。我编辑了我的帖子并添加了示例。你能帮我选择一种合适的可观察方法吗? –
看看这个:https://stackoverflow.com/questions/38712121/angular2-nested-http-requests –