我在异步管道中有一个小问题 这是我的情况, 我需要在html的异步管道中运行嵌套的observables,因为我使用了推策略,并且我不想使用某些解决方法或更改检测器引用。 我的问题是,当我在下面运行代码时,仅第一个可观察到的被调用 我应该添加返回语句吗?还是什么问题?
Ts代码
this.http.getUsers(criteria)
.pipe(map(data=>{
data.users.map(user=>{
this.http.getUserData(user.id)
.pipe(map(res=>{user.data=res.data}))}}
HTML代码
<div *ngFor=let user of users$ | async> </div>
答案 0 :(得分:0)
您要创建一个switchMap,并且需要将一个可观察对象分配给users $属性。
users$ = this.http.getUsers(criteria).pipe(
switchMap(user => this.http.getUserData(user.id)),
map(res => res.data)
);