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

150
Vistas
¿Hay alguna forma de almacenar una llamada asíncrona en una variable?

Tengo un archivo js que se usa en un componente React. Lo que estoy tratando de hacer es obtener datos de mi punto final y pasarlos a una variable llamada empleados. Probé diferentes formas de hacerlo, leí sobre async, etc. y no pude descubrir cómo hacerlo, aquí está mi intento:

 async function fetchData() { const response = await fetch('https://mocki.io/v1/29b83c0b-1a55-430d-a173-92b3632e04aa'); const data = await response.json(); return data } export const employees = fetchData()

¿Cómo puedo pasar mis datos a la variable empleados?

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Esencialmente estás pensando en esto de la manera incorrecta. Particularmente en esta declaración:

¿Cómo puedo pasar mis datos a la variable empleados?

La variable es irrelevante. Lo que está exportando es el valor al que hace referencia la variable. En este caso, ese valor es una Promise , y cualquier cosa que lo importe debería await esa Promise .

Pero en el caso de exportar módulos como este, esa estructura no es intuitiva y puede generar errores. El módulo solo debe exportar la funcionalidad y el código consumidor puede invocar esa funcionalidad cuando y donde lo desee.

Así que no invoques la función y exportes la promesa. Exportar la función:

 export async function fetchData() { const response = await fetch('https://mocki.io/v1/29b83c0b-1a55-430d-a173-92b3632e04aa'); const data = await response.json(); return data }

(Aunque personalmente recomendaría darle un nombre mejor que fetchData . Algo como fetchEmployees parece más descriptivo, dados los employees variables en el código que se muestra).

Luego, consumir código importaría esa función y la usaría para obtener los datos:

 import { fetchData } from 'your-module'; // sometime later, either this: const employees = await fetchData(); // do something with employees // or this: fetchData().then(employees => { // do something with employees });

Esto mantiene al módulo responsable de una sola cosa, proporcionando al código de consumo la funcionalidad que necesita. El módulo tampoco debería ser responsable de invocar esa funcionalidad, y tratar de hacerlo causará problemas cuando esa funcionalidad sea de naturaleza asíncrona.

about 4 years ago · Santiago Trujillo 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