doc: add esm examples to node:timers · nodejs/node@20be5e2
@@ -292,7 +292,24 @@ returned Promises will be rejected with an `'AbortError'`.
292292293293For `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
296313const { setImmediate: setImmediatePromise } = require('node:timers/promises');
297314298315const ac = new AbortController();
@@ -310,7 +327,24 @@ ac.abort();
310327311328For `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
314348const { setTimeout: setTimeoutPromise } = require('node:timers/promises');
315349316350const ac = new AbortController();