在请求完成后进行防抖
我想创建一个简单的debounce
函数,该函数将在给定的Node.js请求生命周期完成之后发生。
让我们拥有这个简单的Node / Express应用程序:
const debounce = require('debounce')
const express = require('express')
const app = express()
const port = 4000
global.i = 0;
app.get('/test', (req, res) => {
debounce(() => { global.i++; }, 3000, false);
res.send(global.i.toString());
});
app.listen(port, () => console.log(`Listening on port ${port}`));
[每当我呼叫http://localhost:4000/
时,都会得到i
作为响应。
我希望只要我在3秒间隔内调用此端点,去抖动功能回调就不会启动,并且i
将为0;当我等待超过3秒时,它将运行,并且下次我调用该端点时,我将获得一个更新的值(例如1
)。
但是不会发生。响应结束,并且代码为“ dead”-永远不会触发debounce
函数回调。
即使在请求/响应周期完成后,使事物继续在后台运行的正确方法是什么?
我想创建一个简单的防反弹功能,该功能将在给定的Node.js请求生命周期结束后发生。让我们有一个简单的Node / Express应用程序:const debounce = require('debounce')...
回答如下:也许您想在发送响应后像这样的代码一起去抖动