Вот моя проблема.
Предположим, у меня есть наблюдаемая со списком стран, а другая наблюдаемая возвращает значение в соответствии с ключом.
interface CountryCode {
id: number;
code: string;
}
interface Country implements CountryCode {
name: string;
}
public getCountries():Observable<CountryCode[]>{
return Observable.of([{id:1,code:'fr'},{id:2,code:'en'}];
}
public getTrad(key: string):Observable<string> {
const trad = {fr: 'France',en: 'Angleterre'};
return Observable.of(trad[key]);
}
Как мне сделать, чтобы в конце:
[{id:1, name:'France', code:'fr'},{id:2, name:'Angleterre', code:'en'}]
Моя проблема в том, чтобы работать со вторым наблюдаемым.
const countries$: Observable<Country[]> = this.getCountries()
.map(items => items.map(
item => assign(item, {name: this.getTrad(item.code)}))); //wont work
Это не работает, потому что у меня есть ScalarObservable