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

149
Views
¿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 answers
Answer question

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 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!