【发布时间】:2017-01-12 17:22:05
【问题描述】:
我需要多次调用 API,因为 API 不支持对多个项目的请求。到目前为止,我所写的内容最终陷入了向服务器发送 GET 请求的无限循环中。我相信我不理解以下示例中 Observables 的性质。我的假设是,while 循环中的每个调用都订阅一个新的单个对象,并且当它被解析时,它将被放置在数组中。如何修改下面的代码来实现我想要的?
getSingle(): Observable<Single> {
return this.http.get(this.url, this.options)
.map((r: Response) => r.json().data as Single);
}
getMultiple(num: number): Single[] {
let multiple: Single[] = [];
let i = 0;
while (i < num) {
this.getSingle().subscribe(single => {
multiple.push(single);
console.log('Success');
i++;
}, err => {
console.log('Failure');
});
}
return multiple;
}
【问题讨论】:
标签: angular typescript observable