Существует две исходные наблюдаемые: из вопросов и из пользовательских данных, и последняя зависит от значений первых.
Приведенный ниже код сначала выравнивает наблюдаемый массив вопросов до наблюдаемых вопросов, затем он выбирает пользовательские данные из getUser
, возвращает объект, содержащий все данные вопросов и свойство profilepicpath
, и, наконец, объединяет вопросы обратно в массивы вопросов. .
ngOnInit(): void {
this.forumService.getQuestions().pipe(
mergeMap(question => question),
switchMap(question => this.forumService.getUser(question.userID).pipe(
map(user => ({
...question,
profilepicpath: user.info.profilepicpath,
})),
)),
toArray(),
) // subscribe here and unsubscribe on component destroy
}
Я не проверял этот код.