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(data => {
//console.log(data);
resultado = true;
resultado = true; // Si todo sale bien, devolvemos true
})
.catch(error => {
console.error('Error al subir los datos:', error);
resultado = false; // Si algo sale mal, devolvemos false
})
return resultado;
}
/**
* Bucle infinito que sube los datos de golpe al ThingSpeak cada 20 segundos
*/
async function bucleSubidaDatos() {
// Creamos bucle infinito
while(true) {
await sleep(20000);
console.log("Lista por subir: " + peticionesRetrasadas.length);
const datosQueSeVanASubir = JSON.parse(JSON.stringify(peticionesRetrasadas))
if (await subirDatosDeGolpe(datosQueSeVanASubir)) { // Con eso creamos una copia de los datos del array
if (peticionesRetrasadas.length == datosQueSeVanASubir.length) {
await sleep(20000); // Esperamos 20 segundos
// console.log("Lista por subir: " + peticionesRetrasadas.length);
const datosQueSeVanASubir = JSON.parse(JSON.stringify(peticionesRetrasadas))// Creamos una copia de los datos del array
if (await subirDatosDeGolpe(datosQueSeVanASubir)) { // Subimos los datos de golpe
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;
} 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);
//console.log("Datos que se hubieran perdido: " + peticionesRetrasadas)
}