_baseDelay.js (672B)
1 /** Error message constants. */ 2 var FUNC_ERROR_TEXT = 'Expected a function'; 3 4 /** 5 * The base implementation of `_.delay` and `_.defer` which accepts `args` 6 * to provide to `func`. 7 * 8 * @private 9 * @param {Function} func The function to delay. 10 * @param {number} wait The number of milliseconds to delay invocation. 11 * @param {Array} args The arguments to provide to `func`. 12 * @returns {number|Object} Returns the timer id or timeout object. 13 */ 14 function baseDelay(func, wait, args) { 15 if (typeof func != 'function') { 16 throw new TypeError(FUNC_ERROR_TEXT); 17 } 18 return setTimeout(function() { func.apply(undefined, args); }, wait); 19 } 20 21 module.exports = baseDelay;