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

184
Views
¿Cómo enviar una solicitud GET con SetTimeout y obtener datos si aún no está listo?

Al hacer clic en Enviar, envío una solicitud POST con algunos datos al servidor y, en respuesta, obtengo un objeto con identificación y tiempo de espera . Luego, necesito establecer el tiempo de espera y, cuando llegue el momento, enviar una solicitud GET para los datos. El problema es que los datos aún no están listos y no estoy definido y mi aplicación React falla.

Me dijeron que el tiempo de espera debería ser solo desde la primera solicitud (quiero decir que no puedo aumentarlo manualmente o hacer algo como esto: timeout * 2 , necesito usar el tiempo de espera solo desde la primera solicitud). ¿Cómo puedo hacer eso? Creo que se puede hacer de alguna manera con el bucle While... pero no soy lo suficientemente inteligente como para escribir este código. Por favor ayuda

 const [someData, setSomeData] = useState({}) // here comes undefined and app crashes because this object renders in DOM const getData = async (id) => { const response = await fetch(`$BASE_URL/${id}`) setSomeData(response) } const onSubmit = async (data) => { const { id, timeout } = await fetch(url, data) setTimeOut(() => { getData(id) // data is not ready and I get undefined }, timeout) // its around 1000ms and I can't change it mannually }

Si hago esto entonces todo funciona bien

 const getData = async (id) => { const response = await fetch(`$BASE_URL/${id}`) setSomeData(response) } const onSubmit = async (data) => { const { id, timeout } = await fetch(url, data) setTimeOut(() => { getData(id) }, 6000) // if I manually specify timeout to 6000 }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

fetch devolverá una promesa, podrías usarla para getData.

 const onSubmit = async (data) => { fetch(url, data) .then(res => return res.json()) .then(res => getData(res.id)) }
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!