Permalink
/** | |
* Defers invoking the `func` until the current call stack has cleared. Any | |
* additional arguments are provided to `func` when it's invoked. | |
* | |
* @since 0.1.0 | |
* @category Function | |
* @param {Function} func The function to defer. | |
* @param {...*} [args] The arguments to invoke `func` with. | |
* @returns {number} Returns the timer id. | |
* @example | |
* | |
* defer(text => console.log(text), 'deferred') | |
* // => Logs 'deferred' after one millisecond. | |
*/ | |
function defer(func, ...args) { | |
if (typeof func !== 'function') { | |
throw new TypeError('Expected a function') | |
} | |
return setTimeout(func, 1, ...args) | |
} | |
export default defer |