# Understanding process.nextTick()

> Understand how Node.js process.nextTick() works with the event loop, running your callback at the end of the current operation before the next tick starts.

Author: Flavio Copes | Published: 2018-08-18 | Canonical: https://flaviocopes.com/node-process-nexttick/

As you try to understand the [Node.js event loop](https://flaviocopes.com/node-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:

```js
process.nextTick(() => {
  //do something
})
```

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 at the end of next tick, much later than when using `nextTick()` which prioritizes the call and executes it just before the beginning of the next tick.

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