I have seen and added many times in nodeJS codebases the following snippet:
const sleep = (ms) =>
new Promise((resolve) => setTimeout(resolve, ms));
Well, today I learned that nodeJS has a native API for that: setTimeout()
.
// https://nodejs.org/api/timers.html#timerspromisessettimeoutdelay-value-options
import { setTimeout } from 'node:timers/promises';
await setTimeout(2000); // sleep 2s
So time to stop to use home-made utilities sleep()
and delay()
, and use the native nodeJS timers API!
Note: Use
import { setTimeout as sleep } from 'node:timers/promises';
to callsleep()
instead ofsetTimeout()
if you want the name to be clearer.