Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

230
Vistas
¿Cómo uso los resultados de Promise.all en un componente React?

Necesito averiguar cómo obtener varios archivos GeoJSON de mi carpeta pública y representar las coordenadas en un componente React. Aquí está el fragmento de código relevante:

 export const CoordinatesComponent = () => { const [data, setData]: any = useState([]); const [isLoading, setLoading] = useState(true); useEffect(() => { let isMounted = true; const dataPromises = Promise.all([ fetch("data/boundary.json", { headers: { "Content-Type": "application/json", Accept: "application/json", }, }), fetch("data/neighborhoods.json", { headers: { "Content-Type": "application/json", Accept: "application/json", }, }), ]) .then((response) => response.map((a) => a.json())); const setState = () => { if (isMounted) { dataPromises.then((a) => setData(a)); setLoading(false); } return () => { isMounted = false; }; }; setState(); }, []); if (isLoading) { return <div>Loading...</div>; } return ( <div>{data}</div> // Just a placeholder. This array of geoJson objects would be fed into another component ); };

Si bien puedo hacer esto con una sola operación de búsqueda, estoy luchando para que esto funcione con Promise.all. Cuando consuelo. registro la variable de datos, veo una matriz de objetos indefinidos. ¡Cualquier ayuda sería muy apreciada!

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El problema es con then siguiente bloque. Dado que ahora tiene una serie de promesas, obtener JSON de las respuestas será el mismo problema y deberá devolver las promesas res.json() en una llamada Promise.all .

 then((response) => response.map((a) => a.json()));

Debe corregirse como se muestra a continuación.

 then((responses) => Promise.all(responses.map((res) => res.json())));

Editar romantic-parm-2501ne

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda