Mi objetivo es desarrollar una API RESTful con Express.js donde un parámetro de tiempo de ejecución se puede leer y restablecer con métodos HTTP. Pero observo que los valores de respuesta no son consistentes.
He intentado escribir el código que crea la inconsistencia en las respuestas.
const express = require("express"); const app = express(); let init = 0; let runtime = init; setInterval( () => { runtime++; }, 1000); // raise runtime value every 1000 ms app.get("/runtime", (req, res) => { res.end(JSON.stringify(runtime)) }); app.post("/runtime", (req, res) => { runtime = init; res.end(JSON.stringify({"runtime": "reset to init"})) });En localhost, todo funciona bien, así:
Get /runtime : 1 Get /runtime : 2 Get /runtime : 3 Get /runtime : 4 Get /runtime : 5 …Como aplicación implementada (para AWS en un entorno corporativo), comienza la incoherencia: después de enviar el método posterior, recibo diferentes valores en la respuesta a GET/runtime, los valores. Por ejemplo, "12 s", luego "9 s", luego "14 s" y luego "12 s", como si estuviera aprovechando dos valores de parámetro diferentes, como el tiempo de ejecución 1 y el tiempo de ejecución 2:
Get /runtime : 1 Get /runtime : 2 Get /runtime : 3 Post /runtime : ok Get /runtime : 5 Get /runtime : 1 Get /runtime : 7 Get /runtime : 3 Get /runtime : 9 Get /runtime : 5 …Feliz con cada pista sobre por qué ocurre esta observación.
¡Gracias por adelantado!