In general, this is applicable for any EventLoop (each loop runs in one main thread bound to a core) based systems like NodeJS as well, the result of the execution or callback or future is completed in the main EventLoop thread, so, if there is a compute intensive task that is going to do an expensive operation or a blocking IO, then you can use the Async methods to force the execution in a separate thread pool, this is the opposite thinking of thread per request model.
https://nodejs.org/uk/docs/guides/dont-block-the-event-loop/ may explain why you should not block the event loop?