Understanding process.nextTick
In Bnlang, process.nextTick
is a special function that schedules a callback to run immediately after the current operation, before the event loop continues.
It gives a way to defer execution without waiting for the next event loop phase.
Think of it as microtask scheduling, ensuring the function runs as soon as possible after the current stack clears.
Basic Example
console.log("Start");
process.nextTick(() => {
console.log("NextTick callback");
});
console.log("End");
// Output:
// Start
// End
// NextTick callback
Comparison with setImmediate and setTimeout
process.nextTick
→ Runs before the event loop continues (highest priority microtask).setImmediate
→ Runs in the check phase of the event loop (after I/O).setTimeout
→ Runs after a minimum delay in the timers phase.
Example: nextTick vs setImmediate
process.nextTick(() => console.log("nextTick"));
setImmediate(() => console.log("setImmediate"));
console.log("Done");
// Output:
// Done
// nextTick
// setImmediate
Best Practices
- Use
process.nextTick
for very short deferrals that must run before I/O. - Avoid heavy logic inside
nextTick
to prevent blocking other microtasks. - Prefer promises (
Promise.resolve().then(...)
) for clearer async code when possible.