屬性未找到映射結合流與 RxJS 的角度

金特拉

嗨,我有這兩個流與 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[] 填充該屬性

生物體ID

比賽

但是當我嘗試這個時

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章