source: node_modules/es-toolkit/dist/promise/delay.js

Last change on this file was a762898, checked in by istevanoska <ilinastevanoska@…>, 5 months ago

Added visualizations

  • Property mode set to 100644
File size: 763 bytes
Line 
1'use strict';
2
3Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
5const AbortError = require('../error/AbortError.js');
6
7function delay(ms, { signal } = {}) {
8 return new Promise((resolve, reject) => {
9 const abortError = () => {
10 reject(new AbortError.AbortError());
11 };
12 const abortHandler = () => {
13 clearTimeout(timeoutId);
14 abortError();
15 };
16 if (signal?.aborted) {
17 return abortError();
18 }
19 const timeoutId = setTimeout(() => {
20 signal?.removeEventListener('abort', abortHandler);
21 resolve();
22 }, ms);
23 signal?.addEventListener('abort', abortHandler, { once: true });
24 });
25}
26
27exports.delay = delay;
Note: See TracBrowser for help on using the repository browser.