const queue = { pending: null };

function dispatchAction(action, queue) {
  const update = { action: action, next: null };
  if (queue.pending == null) {
    update.next = update;
  } else {
    update.next = queue.pending.next;
    queue.pending.next = update;
  }
  queue.pending = update;
}

dispatchAction('update1', queue);
dispatchAction('update2', queue);

const first = queue.pending.next;
let update = first;
do {
  console.log(update);
  update = update.next;
} while (update != first);

  

posted on 2021-11-01 00:42  码农-编程小子  阅读(44)  评论(0编辑  收藏  举报