嗨,我有這兩個流與 Ofertas 和 concursos
ofertas$ = this.dataService.getOfertas();
concursos$ = this.dataService.getConcursos();
ofertasConOrganismos$ = forkJoin([
this.ofertas$,
this.concursos$
]);
ngOnInit(): void {
this.ofertasConOrganismos$
.subscribe(item => console.log(item));
}
在 Ofertas[] 中,每個 Oferta 都具有organoId 屬性,我需要用具有此屬性的相關值 en Concurso[] 填充該屬性
但是當我嘗試這個時
ofertasConOrganismos$ = forkJoin([
this.ofertas$,
this.concursos$
])
.pipe(
map(([ofertas, concursos]) =>
ofertas.map(oferta => ({
...oferta,
organismoId: concursos.find(c => c.id == oferta.concursoId).organismoId
}) as Oferta))
);
我收到這個錯誤
有什麼想法嗎?
謝謝
問題在於未定義的“concursos.find(c => c.id == oferta.concursoId)”——“find()”方法未找到任何內容,因此您無法檢索未定義對像上的“.organismoId”參數。您可以使用以下可選運算符語法(帶問號)以避免錯誤:
map(([ofertas, concursos]) =>
ofertas.map(oferta => ({
...oferta,
organismoId: concursos.find(c => c.id == oferta.concursoId)?.organismoId
}) as Oferta))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句