21xrx.com
2024-12-22 23:37:37 Sunday
登录
文章检索 我的文章 写文章
Node.js 延时队列实现
2023-07-05 08:53:53 深夜i     --     --
Node js 延时队列 实现

延时队列是指在队列中添加一个元素后,指定一定的时间后才会被处理。在实际应用中,延时队列可以用来处理一些需要延时执行的任务,比如延时发送短信、延时删除临时文件等。

在 Node.js 中实现延时队列可以使用 setTimeout 函数,这个函数可以指定延时时间和回调函数。将要执行的任务作为一个参数传递给回调函数,在指定的延时时间后,回调函数会被触发执行。

下面是一个简单的 Node.js 延时队列实现:


const taskQueue = [];

function addTask(func, delay) {

 taskQueue.push( delay );

}

function runTask() {

 const currentTask = taskQueue.shift();

 if (currentTask) {

  setTimeout(() => {

   currentTask.func();

   runTask();

  }, currentTask.delay);

 }

}

addTask(() => console.log("task 1"), 1000);

addTask(() => console.log("task 2"), 2000);

addTask(() => console.log("task 3"), 3000);

runTask();

在上面的代码中,我们定义了一个 taskQueue 数组,用来保存要执行的任务。addTask 函数用来添加任务,并指定延时时间。runTask 函数是实际执行任务的函数,每次从 taskQueue 中取出一个任务并执行。

我们可以使用 addTask 函数添加需要延时执行的任务,然后调用 runTask 函数开始执行这些任务。在上面的例子中,我们添加了三个任务,它们分别会在 1 秒、2 秒和 3 秒后被执行。

可以看到,使用 setTimeout 函数来实现延时队列非常简单。Node.js 的定时器提供了非常方便的延时执行功能,可以用来实现各种需求。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复