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

217
Views
¿Cómo establecer el intervalo en reaccionar js la primera vez 0 segundos después de esos 30 segundos?

¿Cómo establecer el intervalo en reaccionar js la primera vez 0 segundos después de esos 30 segundos?

 //this is my state const [state, setState] = useState(); useEffect(() => { const interval = setInterval(() => { APiResponse(); }, 30000); return () => clearInterval(interval); }, []); const APiResponse = () => { axios.get(`xxx`).then((res) => { setState(res); }); };
about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Establezca una variable de temporizador en un método setTimeOut sobre su método a cero para que una vez que se represente el componente, se llamará al ciclo de vida useEffect y después de hacer su llamada, configúrelo para lo que necesite;

 let interval; setTimeout(()=>{ APiResponse(); // first time zero interval = setInterval(() => { APiResponse(); // after 30 second } , 30000); }, 0)
about 4 years ago · Juan Pablo Isaza Report

0

Puede usar un setTimeout por primera vez. Luego, con una variable de estado de bandera que se actualiza después del primer renderizado, puede comenzar su intervalo.

 const [state, setState] = useState(); const [flag, setFlag] = useState(false); useEffect(() => { const interval = setTimeout(() => { APiResponse(); }, 0); `enter code here`; }); useEffect(() => { if(flag === true){ const interval = setInterval(() => { APiResponse(); }, 30000); return () => clearInterval(interval); } },[flag]); const APiResponse = () => { setFlag(true); axios.get(`xxx`).then((res) => { setState(res); }); };
about 4 years ago · Juan Pablo Isaza Report

0

Puede usar el código a continuación, la idea es invocar la función de devolución de llamada setInterval inmediatamente por intervalos de una vez y 30 segundos después de eso. Tenga en cuenta que es un IIFE. por lo que no empujará a la cola de tareas, sino que se activará inmediatamente (sin demora).

 const [state, setState] = useState(); useEffect(() => { const interval = setInterval( (function callApi() { APiResponse(); return callApi; })(), 30000 ); return () => clearInterval(interval); }, []); const APiResponse = () => { axios.get(`xxx`).then((res) => { setState(res); }); };

He llamado a la función callApi . El return callApi; line devuelve la misma función, podemos llamarla inmediatamente y usarla como una función de devolución de llamada para setInterval .

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!