@reactivex/ix-esnext-esm
Version:
The Interactive Extensions for JavaScript
23 lines (21 loc) • 641 B
JavaScript
import { AbortError } from '../aborterror';
export function sleep(dueTime, signal) {
return new Promise((resolve, reject) => {
if (signal && signal.aborted) {
reject(new AbortError());
}
const id = setTimeout(() => {
if (signal && signal.aborted) {
reject(new AbortError());
}
resolve();
}, dueTime);
if (signal) {
signal.addEventListener('abort', () => {
clearTimeout(id);
reject(new AbortError());
}, { once: true });
}
});
}
//# sourceMappingURL=_sleep.mjs.map