From cdfd9ed3596b6ecd8c991a5e17b56c018193a1d4 Mon Sep 17 00:00:00 2001 From: h4ckx0r Date: Tue, 8 Apr 2025 19:15:35 +0200 Subject: [PATCH] =?UTF-8?q?Mejor=20explicaci=C3=B3n=20de=20la=20api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libs/api.js | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/libs/api.js b/libs/api.js index 560bcd6..1a7b0e8 100644 --- a/libs/api.js +++ b/libs/api.js @@ -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) }