DEV Community

loading...

Understanding process.nextTick()

flavio ⚡️🔥
I write tutorials for developers at https://flaviocopes.com
Originally published at flaviocopes.com on ・1 min read

As you try to understand the Node.js event loop, one important part of it is process.nextTick().

Every time the event loop takes a full trip, we call it a tick.

When we pass a function to process.nextTick(), we instruct the engine to invoke this function at the end of the current operation, before the next event loop tick starts:

process.nextTick(() => {
  //do something
})
Enter fullscreen mode Exit fullscreen mode

The event loop is busy processing the current function code.

When this operation ends, the JS engine runs all the functions passed to nextTick calls during that operation.

It's the way we can tell the JS engine to process a function asynchronously (after the current function), but as soon as possible, not queue it.

Calling setTimeout(() => {}, 0) will execute the function in the next tick, much later than when using nextTick().

Use nextTick() when you want to make sure that in the next event loop iteration that code is already executed.

Discussion (0)

Forem Open with the Forem app