18 lines
639 B
JavaScript
18 lines
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
|