◐ Shell
clean mode source ↗

doc: add esm examples to node:timers · nodejs/node@20be5e2

@@ -292,7 +292,24 @@ returned Promises will be rejected with an `'AbortError'`.

292292293293

For `setImmediate()`:

294294295-

```js

295+

```mjs

296+

import { setImmediate as setImmediatePromise } from 'node:timers/promises';

297+298+

const ac = new AbortController();

299+

const signal = ac.signal;

300+301+

// We do not `await` the promise so `ac.abort()` is called concurrently.

302+

setImmediatePromise('foobar', { signal })

303+

.then(console.log)

304+

.catch((err) => {

305+

if (err.name === 'AbortError')

306+

console.error('The immediate was aborted');

307+

});

308+309+

ac.abort();

310+

```

311+312+

```cjs

296313

const { setImmediate: setImmediatePromise } = require('node:timers/promises');

297314298315

const ac = new AbortController();

@@ -310,7 +327,24 @@ ac.abort();

310327311328

For `setTimeout()`:

312329313-

```js

330+

```mjs

331+

import { setTimeout as setTimeoutPromise } from 'node:timers/promises';

332+333+

const ac = new AbortController();

334+

const signal = ac.signal;

335+336+

// We do not `await` the promise so `ac.abort()` is called concurrently.

337+

setTimeoutPromise(1000, 'foobar', { signal })

338+

.then(console.log)

339+

.catch((err) => {

340+

if (err.name === 'AbortError')

341+

console.error('The timeout was aborted');

342+

});

343+344+

ac.abort();

345+

```

346+347+

```cjs

314348

const { setTimeout: setTimeoutPromise } = require('node:timers/promises');

315349316350

const ac = new AbortController();