В моем сервисе я хочу получить один объект, но мне также нужны подробности об этом отдельном объекте, прежде чем я верну его в свой компонент.
Используя оператор канала, я пытаюсь вызвать функцию, которая предоставит мнедетали (в данном случае Bar
).
Но я немного растерялся, как бы я это сделал, так как я возвращаю observable<Bar>
, а не Bar
.
export class Foo {
public ID;
public Bar: Bar;
}
export class Bar { }
/**
* Returns a single Foo
*/
public FindSingleFoo(fooID: string): Observable<Foo | HttpError> {
return this._httpClient.post<Foo>('API/FindSingleFoo', fooID)
.pipe(
map((data) => this.FindBarOfFoo(data)),
);
}
/**
* Returns the Bar of Foo
* @param fooID - the ID you want Bar for
*/
public FindBarOfFoo(foo: Foo): Observable<Foo | HttpError> {
return this._httpClient.post<Bar>('API/FindBarOfFoo', foo.ID).subscribe(
(result: Bar) => foo.Bar = result
);
}