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

330
Views
¿Cómo resolver el problema de la función async-await al usar Axios?

Quiero usar axios usando la función de espera asíncrona.

Pero cuando uso la función de espera asíncrona, aparece un error.

 useEffect(async() => { await axios .get("https://cryptic-inlet-27003.herokuapp.com/products?size=6") .then((data) => setItems(data.data)); }, []);
about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Está usando tanto promesas como async/await al mismo tiempo, ya sea usando .then() o async/await: Aquí he mostrado cómo puede hacer esto usando promesas:

 useEffect(async() => { axios.get("https://cryptic-inlet-27003.herokuapp.com/products?size=6") .then(function (response) { setItems(response.data); }) .catch(function (error) { console.log(error); })}, [])

Aquí estoy usando async await:

 useEffect(async() => { let response = await axios.get("https://cryptic-inlet- 27003.herokuapp.com/products?size=6") setItems(response.data); }, [])
about 4 years ago · Juan Pablo Isaza Report

0

No puede usar una espera asíncrona dentro de useEffect porque esa no es una metodología de reacción, tiene que cambiar su código lógico a otro, por ejemplo, use useState varaibles y con el resultado de axios actualizará useState varaibles , algo así como que:

 const [items, setItems]=useState({})//any useEffect(async() => { axios .get("https://cryptic-inlet-27003.herokuapp.com/products?size=6") .then((data) => setItems(data.data)); }, []); useEffect(()=>{ console.log(items, 'this items changed') //to do... }, [items])

o

 const [items, setItems]=useState({})//any async function requestAxios(){ const data=await axios.get("https://cryptic-inlet-27003.herokuapp.com/products?size=6") setItems(data.data) } useEffect(async() => { requestAxios() }, []); useEffect(()=>{ console.log(items, 'this items changed') //to do... }, [items])
about 4 years ago · Juan Pablo Isaza Report

0

El problema es que está usando promesas y async/await al mismo tiempo. Async/await no es más que una capa de azúcar de promesas. Puedes leer más sobre las promesas aquí .

 const fetchData = async () => { const { data } = await axios.get("https://cryptic-inlet-27003.herokuapp.com/products?size=6") // do something with data! }; useEffect(async() => { fetchData(); }, []);
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!