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

298
Views
Obtenga datos de una API solo en la actualización en NodeJS

Estoy recuperando datos de una API de reserva donde la disponibilidad de habitaciones cambia cada vez. Lo que estoy haciendo es recuperar los datos cada 1 segundo usando setInterval.

 const interval = setInterval(getData, 1000);

que funciona bien, pero pensé que sería mejor si hubiera una forma de recuperar solo si hubiera una actualización o un cambio en la API de datos que estaba recuperando. He buscado por todos lados pero no encuentro nada sobre esto.

Para el lado del servidor, digamos que obtengo datos de https://api.publicapis.org/entries usando Express y realizo algunos cambios en los datos y ahora mis datos están disponibles en https://localhost:3001/api/entries y yo consumirlo y mostrar lo que quiero usando React.

Digamos que https://api.publicapis.org/entries cambia sus datos cada vez, ¿cómo puedo recuperar cuando solo cambian los datos, para que en https://localhost:3001/api/entries los datos cambien en consecuencia?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Le recomiendo que use el mecanismo QueryCache de React Query ( https://react-query.tanstack.com/reference/QueryCache#_top ), es una característica muy poderosa porque, de manera predeterminada, cada resultado de la consulta se almacena en caché durante cinco minutos y depende de ese caché. para solicitudes posteriores.

React query sabe que los datos del servidor pueden haberse actualizado y es posible que la memoria caché no contenga los datos más recientes, por lo que se activa una recuperación en segundo plano para la misma consulta y, si la recuperación es exitosa, los nuevos datos se actualizan en la interfaz de usuario. Dado que nuestros datos son los mismos que los datos almacenados en caché, no vemos ningún cambio en la interfaz de usuario...

Videotutorial de YouTube como referencia

about 4 years ago · Juan Pablo Isaza Report

0

Creo que puede hacer algo tanto desde el lado del servidor como desde el lado del cliente, desde el lado del cliente, use setTimeout en lugar de setInterval, que puede permitirle enviar la siguiente solicitud solo si obtiene la última respuesta, por ejemplo:

 let timeout function getData() { // await request here.. timeout = setTimeout(getData, 1000) }

y luego, consulte nuevos datos con los últimos datos de actualización en el servidor, de modo que el lado del servidor pueda saber si es necesario enviarle algún dato de actualización. Si desea que el servidor le notifique cuándo debe obtener la actualización, creo que debe usar sockets.

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!