【发布时间】:2018-07-24 16:09:28
【问题描述】:
我有以下代码:
private getUsers(page, result) {
result = result||[];
return this.http.get(API_URL + '/users?page=1')
.pipe(map(response => {
const response_filter = response.json();
const users = response_filter['data'];
const pages = response_filter['total_pages'];
Array.prototype.push.apply(result, users.map((user) => new User(user)));
while (page != pages)
{
this.http.get(API_URL + '/users?page=' + page)
.pipe(map(resp => {
console.log('test');
const response_filter = resp.json();
const users = response_filter['data'];
Array.prototype.push.apply(result, users.map((user) => new User(user)));
return result;
}))
.pipe(catchError(val => of(`Caught inner error: ${val}`)));
page += 1;
}
return result;
}))
.pipe(catchError(val => of(`Caught error: ${val}`)));
}
代码在 console.log('test') 之前运行良好。该日志未显示,但 while 循环迭代良好。 以前我尝试过相同的功能,但以递归方式。有同样的问题。
【问题讨论】:
-
您需要使用例如订阅 Observable。
subscribe()