簡體   English   中英

如何構建此服務器后端路由?

[英]How can I construct this server backend route?

我正在做一個全棧項目,我需要一種方法來實現以下場景:

在用戶提交事件時:

  1. 一個請求被發布到后端
  2. 當服務器收到請求時,它開始執行一些 function
  3. 后端應循環/無限期地運行所述 function,直到后端收到后續請求,該請求指示服務器在 function 完成其當前迭代后停止執行 function。

我知道一定有辦法解決這個問題,但我一直無法弄清楚如何將我的問題/問題濃縮成我可以通過谷歌搜索的東西。

以下內容有望幫助傳達我要完成的工作:

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;
}

似乎是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) });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM