我正在努力让我的头在Angular2中的观察者周围。我有一个可观察forEach内的观察2订阅。在另一个可观察的订阅中嵌套可观察订阅是否可以接受
因此,它是如下:
- 的forEach获取路线ID(轮询ID)
- (嵌套在1)认购使用路由 ID从数据库中获取投票(投票编号)
- (2嵌套)订阅会从数据库中使用 投票IDS createdById
正如你可以看到有很多的嵌套的事情的createdBy用户这只是感觉不对。有没有更好的方法来实现这个目标?
这是我的代码:
poll: Poll;
createdBy: string;
constructor(public route: ActivatedRoute, public teamPollsService: TeamPollsService) { }
ngOnInit(): void {
let id: any;
// 1.
this.route.params.forEach((params: Params) => {
id = params['id'];
// 2.
this.pollService.getPoll(id).subscribe((x) => {
this.poll = x;
// 3.
this.users.getDbUser(x.createdById).subscribe((user) => {
createdBy = `${user.firstName} ${user.lastName}`;
});
});
});
感谢。
这工作!虽然我不得不使用switchMap而不是flatMap。谢谢。 – Peza