使用js实现一个循环队列

使用js实现一个循环队列,第1张

使用js实现一个循环队列
const queue = []let queueRunning = falselet loopTimer = nullconst loop = task => {  // do something...  console.log(task)  if (isQueueHasTask()) {    // you can add new tasks in the middle of the queue.    loopTimer = setTimeout(() => {loop(getNextTask())})  } else {    queueRunning = false  }}const startLoop = () => {  if (queueRunning) return  if (isQueueHasTask()) {    queueRunning = true    loop(getNextTask())  }}const stopLoop = () => {  if (!queueRunning) return  if (loopTimer) {    clearTimeout(loopTimer)    queueRunning = false  }}const getNextTask = () => queue.shift()const isQueueHasTask = () => !!queue.lengthconst addTask = task => {  if (!Array.isArray(task)) task = [task]  queue.push(...task)  startLoop()}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5003817.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存