【发布时间】:2019-09-02 06:08:29
【问题描述】:
我从第一个请求 this.userService.getAll() 中获得了 500 个用户,对于每个用户,我请求他们拥有的 2 个其他属性(列表)。不幸的是,它一次发送所有 1000 个请求,并且它不首先处理第一个请求,而不是第二个请求,依此类推。我希望第一个用户及其属性 P1 的结果立即显示在页面上。我可以看到所有请求在发送后都在处理,因为来自“console.log('request one result');”的日志在请求的日志之后打印。我从 Angular 使用 rxjs 库和 httpClient。该应用程序的角度为 7。
this.userService.getAll().subscribe((data: any) => {
this.users = data.users;
if (data && data.users){
data.users.forEach(user => {
this.userService.getP1(user.id).subscribe(
(data: any) => {
console.log('request one result');
if(data) user.p1 = data.p1; });
this.userService.getP2(user.id).subscribe(
(data: any) => {
console.log('request two result');
if(data) user.p2 = data.p2; });
}
})
【问题讨论】:
标签: angular rxjs observable