Estoy trabajando en un proyecto fullstack donde necesito una forma de efectuar el siguiente escenario:
Tras un evento de envío de usuario:
Sé que debe haber una manera de resolver esto, pero no he podido encontrar la manera de condensar mi problema/pregunta en algo que pueda buscar en Google.
Con suerte, lo siguiente ayudará a transmitir lo que estoy tratando de lograr:
let run_function = false; app.post('/start', (req, res) => { run_function = true; while (run_function) the_function(req.body); } app.get('/stop', (req, res) => { run_function = false; }
Parece un trabajo para setInterval() / clearInterval()
let handle // Default 200ms interval const startLoop = (body, interval = 200) => { clearInterval(handle) // stop any previous loops handle = setInterval(the_function, interval, body) } app.post("/start", (req, res) => { startLoop(req.body) res.send("Started") }) app.post("/stop", (req, res) => { clearInterval(handle) res.send("Stopped") })
let LoopInterval = null; app.post('/start', (req, res) => { LoopInterval = setInterval(() => { the_function(req.body); }, 0); }); app.get('/stop', (req, res) => { clearInterval(LoopInterval) });