Я использую Angular 6.
У меня есть следующие классы:
export class MyItem{
id: string;
name: string;
gizmo: Gizmo;
};
export class Gizmo{
id: string;
name: string;
color: string;
};
Мне нужно сделать 2 вызова API.
1 - Чтобы получить массив MyItems.
2 - чтобы получить гизмо данного MyItem.
Я пробовал это:
this.myItemService.get<MyItem[]>(
new FindParameters({ name: name })
).pipe(tap(z => {
z.forEach(function (item) {
this.gizmoService.get(item.id)
.subscribe(z => {
item.gizmo = z;
});
});
}))
.subscribe(x => this.totalCount = x.length);
Однако gizmoService, по-видимому, находится вне области действия внутри функции.(Если я вытащу его, сервис в порядке)
Так как я могу загрузить свой объект, который потребует 2 отдельных вызова API?