UNPKG

ix

Version:

The Interactive Extensions for JavaScript

32 lines (30 loc) 932 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.sleep = void 0; const aborterror_js_1 = require("../aborterror.js"); function sleep(dueTime, signal) { return new Promise((resolve, reject) => { if (signal && signal.aborted) { reject(new aborterror_js_1.AbortError()); } const id = setTimeout(() => { if (signal) { signal.removeEventListener('abort', onAbort); if (signal.aborted) { onAbort(); return; } } resolve(); }, dueTime); if (signal) { signal.addEventListener('abort', onAbort, { once: true }); } function onAbort() { clearTimeout(id); reject(new aborterror_js_1.AbortError()); } }); } exports.sleep = sleep; //# sourceMappingURL=_sleep.js.map