javascript - 如何在ExpressJS中的一段时间后从字典中删除对象
问题描述
假设我们有一个字典,其中包含一些像这样的值
const members = {
"NAME1": "TEST1",
"NAME2": "TEST2",
"NAME3": "TEST3"
};
我们如何在一段时间后删除一个值,比如 5 分钟。请注意,我们在 Nodejs/ExpressJS 服务器上使用它,它不能阻塞整个服务器。它必须是线程或类似的东西。
delete['NAME1']
然后我们称之为。这样做的正确方法是什么?我尝试制作一个循环并睡眠 5 分钟,但这不起作用,因为它会阻塞整个服务器,直到它睡眠消失。
解决方案
您正在寻找setTimeout
和delete
关键字:
let members = {
"NAME1": "TEST1",
"NAME2": "TEST2",
"NAME3": "TEST3"
};
const ONE_SECOND = 1000;
setTimeout(() => {
delete members['NAME2'];
console.log(members);
}, ONE_SECOND * 3);
console.log(members);
推荐阅读
- r - 如何知道地块的名称?
- c# - Windows 下载的 DLL 被阻止
- reactjs - JSX 元素类型 [外部模块] 没有任何构造或调用签名
- chilkat - 使用 ckosshtunnel 和 AuthenticatePk 进行身份验证失败或部分成功
- javascript - 如何使用 Javascript 使用 \r\n 转换字符串变量中定义的数组?
- directus - 在 Directus 7 中将状态字段显示为下拉列表?
- c# - 将具有标准值的另一个表中的列中的所有记录插入到表中
- c - 是否可以创建一个循环多次扫描一个数字和一个字符串?(我作业的一部分)
- c# - .net 核心 Ftp 命令不起作用,并且在我的生产服务器上没有引发错误
- clips - 对象在修改其内容后进入无限循环的剪辑规则