【发布时间】:2017-11-21 23:27:53
【问题描述】:
查找方法具有以下签名
find(): Observable<User[]>
它返回一个发出用户列表的可观察对象,可能如下所示:
[{ user_1 }, { user_2 }]
我的目标是对列表中的每个用户运行异步操作。该异步操作应该通过添加一些字段来修改元素。最后应该发出更新的用户列表。这是我尝试过的:
return this.service.find()
.mergeMap((users: User[]) => Observable.from(users))
.mergeMap((user: User) => {
return this.anotherService.getAdditionalData(user.id)
.map((res: any) => {
// return edited user
})
})
// How to return User[] here?
使用第一个 mergeMap 为列表中的每个用户创建一个 observable。然后为每个可观察的用户进行另一个异步操作。异步操作返回编辑后的用户。
最后,我的问题是,如何返回已编辑用户的用户列表。或者如何将编辑后的用户收集到一个列表中并返回这个列表?
【问题讨论】:
标签: javascript rxjs