Mejor explicación de la api

This commit is contained in:
2025-04-08 19:15:35 +02:00
parent e130b84d0b
commit cdfd9ed359

View File

@@ -63,23 +63,28 @@ async function subirDatosDeGolpe(datosParaSubir) {
.then(response => response.json()) .then(response => response.json())
.then(data => { .then(data => {
//console.log(data); //console.log(data);
resultado = true; resultado = true; // Si todo sale bien, devolvemos true
}) })
.catch(error => { .catch(error => {
console.error('Error al subir los datos:', error); console.error('Error al subir los datos:', error);
resultado = false; // Si algo sale mal, devolvemos false
}) })
return resultado; return resultado;
} }
/**
* Bucle infinito que sube los datos de golpe al ThingSpeak cada 20 segundos
*/
async function bucleSubidaDatos() { async function bucleSubidaDatos() {
// Creamos bucle infinito
while(true) { while(true) {
await sleep(20000); await sleep(20000); // Esperamos 20 segundos
console.log("Lista por subir: " + peticionesRetrasadas.length); // console.log("Lista por subir: " + peticionesRetrasadas.length);
const datosQueSeVanASubir = JSON.parse(JSON.stringify(peticionesRetrasadas)) const datosQueSeVanASubir = JSON.parse(JSON.stringify(peticionesRetrasadas))// Creamos una copia de los datos del array
if (await subirDatosDeGolpe(datosQueSeVanASubir)) { // Con eso creamos una copia de los datos del array if (await subirDatosDeGolpe(datosQueSeVanASubir)) { // Subimos los datos de golpe
if (peticionesRetrasadas.length == datosQueSeVanASubir.length) { if (peticionesRetrasadas.length == datosQueSeVanASubir.length) { // Si la cantidad de datos subida es diferente a la cantidad de datos en el array reiniciamos el array
peticionesRetrasadas.length = 0; peticionesRetrasadas.length = 0;
} else { } else { // Puede darse el caso que mientras se suben los datos, lleguen nuevos y los eliminemos sin querer, por eso, sólo eliminamos de la lista original los datos que se han subido
peticionesRetrasadas.splice(0, datosQueSeVanASubir.length); peticionesRetrasadas.splice(0, datosQueSeVanASubir.length);
//console.log("Datos que se hubieran perdido: " + peticionesRetrasadas) //console.log("Datos que se hubieran perdido: " + peticionesRetrasadas)
} }