You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					22 lines
				
				672 B
			
		
		
			
		
	
	
					22 lines
				
				672 B
			| 
								 
											4 years ago
										 
									 | 
							
								/** Error message constants. */
							 | 
						||
| 
								 | 
							
								var FUNC_ERROR_TEXT = 'Expected a function';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * The base implementation of `_.delay` and `_.defer` which accepts `args`
							 | 
						||
| 
								 | 
							
								 * to provide to `func`.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @private
							 | 
						||
| 
								 | 
							
								 * @param {Function} func The function to delay.
							 | 
						||
| 
								 | 
							
								 * @param {number} wait The number of milliseconds to delay invocation.
							 | 
						||
| 
								 | 
							
								 * @param {Array} args The arguments to provide to `func`.
							 | 
						||
| 
								 | 
							
								 * @returns {number|Object} Returns the timer id or timeout object.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								function baseDelay(func, wait, args) {
							 | 
						||
| 
								 | 
							
								  if (typeof func != 'function') {
							 | 
						||
| 
								 | 
							
								    throw new TypeError(FUNC_ERROR_TEXT);
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  return setTimeout(function() { func.apply(undefined, args); }, wait);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports = baseDelay;
							 |