To sleep the thread in Node.js without affecting other threads, we use the setTimeout
function.
For instance, we write
const snooze = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
const example = async () => {
console.log("About to snooze without halting the event loop...");
await snooze(1000);
console.log("done!");
};
example();
to define the snooze
function.
In it, we return a promise that calls setTimeout
with resolve
as its callback after ms
milliseconds to settle the promise after ms
milliseconds.
Then we call snooze
in the example
function and use await
to wait for the promise to finish.