Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

221
Views
foreach a través de un mapa que tiene otro mapa como valor en Angular

Creé un servicio en Java que devuelve como observable un mapa <k, mapa <k, v>> y estoy intentando iterar a través del mapa externo con un foreach. Estoy luchando por.

 [...] .then( (response: Package) => { response.activityMap.forEach((key: string, value: Map<string, number>) => { //do something }); } ) [...]

El paquete es un tipo con los siguientes parámetros:

 export interface Package{ diagnostic?: Diagnostic; activityMap?: { [key: string]: { [key: string]: number; }; }; }

Lo que estoy tratando de hacer es crear un forEach que itere a través del mapa "padre", por lo que para cada clave //haga algo

Pero no me deja usar foreach:

Esta expresión no es invocable. Escriba '{ [clave: cadena]: número; }' no tiene firmas de llamada.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Dado que está devolviendo un observable, primero debe suscribirse al observable, luego puede iterar los valores devueltos.

Hay 2 enfoques en orden de cómo manejamos las suscripciones

Enfoque 1

Manejo de suscripción dentro de nuestro componente

 this.myService.getPackage().subscribe((response: Package) => { response.activityMap.forEach((key: string, value: Map<string, number>) => { //do something }); })

También asegúrese de cancelar la suscripción para evitar que su aplicación tenga pérdidas de memoria.

Puede hacerlo con el operador TakeUntill RxJS https://www.digitalocean.com/community/tutorials/angular-takeuntil-rxjs-unsubscribe

O

Enfoque 2

Usando tubería asíncrona

En lugar de suscribirse, puede usar canalizaciones asíncronas, lo que se considera una buena práctica https://blog.angular-university.io/angular-reactive-templates/

Consejo

En lugar de iterar dentro de la suscripción, recomendaría que use el operador de mapa RxJS combinado dentro de una tubería https://rxjs.dev/api/operators/map

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!