18 lines
No EOL
639 B
JavaScript
18 lines
No EOL
639 B
JavaScript
// https://github.com/sindresorhus/delay/tree/ab98ae8dfcb38e1593286c94d934e70d14a4e111
|
|
export default async function delay(ms, { signal }) {
|
|
return new Promise((resolve, reject) => {
|
|
if (signal) {
|
|
signal.throwIfAborted();
|
|
signal.addEventListener('abort', abortHandler, { once: true });
|
|
}
|
|
function abortHandler() {
|
|
clearTimeout(timeoutId);
|
|
reject(signal.reason);
|
|
}
|
|
const timeoutId = setTimeout(() => {
|
|
signal?.removeEventListener('abort', abortHandler);
|
|
resolve();
|
|
}, ms);
|
|
});
|
|
}
|
|
//# sourceMappingURL=delay.js.map
|