defer.js 727 Bytes
define(['../internal/baseDelay', './restParam'], function(baseDelay, restParam) {

  /**
   * Defers invoking the `func` until the current call stack has cleared. Any
   * additional arguments are provided to `func` when it's invoked.
   *
   * @static
   * @memberOf _
   * @category Function
   * @param {Function} func The function to defer.
   * @param {...*} [args] The arguments to invoke the function with.
   * @returns {number} Returns the timer id.
   * @example
   *
   * _.defer(function(text) {
   *   console.log(text);
   * }, 'deferred');
   * // logs 'deferred' after one or more milliseconds
   */
  var defer = restParam(function(func, args) {
    return baseDelay(func, 1, args);
  });

  return defer;
});