DEV Community

François
François

Posted on • Originally published at blog.lepape.me on

Good bye sleep() and delay() with NodeJS, hello setTimeout()

Stop to use home-made utilities sleep() and delay(), and use the native nodeJS timers API: setTimeout().

I have seen and added many times in nodeJS codebase the following snippet:

const sleep = (ms) =>
  new Promise((resolve) => setTimeout(resolve, ms));
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

So time to stop to use home-made utilities sleep() and delay(), and use the native nodeJS timers API!

Speedy emails, satisfied customers

Postmark Image

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more