es-promise-ext
Version:
Native promise extensions for javascript and typescript.
25 lines (24 loc) • 638 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = promiseDelay;
/**
* Start promise after delaying.
*
* @param {number} millisecond
* - a time for the delay
*
* @return {Promise<void>}
* A void promise
*
* @example
* promiseDelay(300)
* .then(doSomething)
* // return a void promise after delay 300 ms
*/
function promiseDelay(millisecond) {
if (!Number.isInteger(millisecond) || millisecond < 0)
throw TypeError('Promise.delay parameter 1 must be a positive integer');
return new Promise(resolve => {
setTimeout(() => resolve(), millisecond);
});
}