PassFront
  1. PassFront
  2. База знаний
  3. Продвинутые темы

Что такое nextTick?

Продвинутые темы

`nextTick` — это способ отложить выполнение коллбэка до момента после текущей операции: в Node.js process.nextTick, в Vue nextTick (после обновления DOM).

В Node.js — process.nextTick

Ставит коллбэк в специальную очередь nextTick, которая выполняется раньше обычных микрозадач (промисов) и до следующей фазы Event Loop:

console.log('1');
process.nextTick(() => console.log('2'));
Promise.resolve().then(() => console.log('3'));
console.log('4');
// 1, 4, 2, 3 — nextTick раньше промиса

Применение: отложить работу «на конец текущей операции», разбить синхронный код.

Во Vue — nextTick

Vue обновляет DOM асинхронно (батчинг). nextTick даёт коллбэк, который выполнится после применения обновлений к DOM:

this.message = 'новое';
await nextTick();
// здесь DOM уже обновлён

Применение: работа с DOM сразу после изменения реактивных данных.

Общая идея

nextTick — «выполни это, когда текущая порция работы завершится». В Node — микрозадача с наивысшим приоритетом; во Vue — после цикла обновления DOM.

Коротко для собеседования

nextTick откладывает коллбэк на конец текущей операции. В Node.js process.nextTick — очередь с приоритетом выше промисов. Во Vue nextTick выполняет коллбэк после обновления DOM. Идея — «сделай после текущей порции работы».

Другие вопросы раздела