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.
68 lines
1.8 KiB
68 lines
1.8 KiB
'use strict'; |
|
|
|
Object.defineProperty(exports, "__esModule", { |
|
value: true |
|
}); |
|
|
|
exports.default = function (fn /*, ...args*/) { |
|
var args = (0, _slice2.default)(arguments, 1); |
|
return function () /*callArgs*/{ |
|
var callArgs = (0, _slice2.default)(arguments); |
|
return fn.apply(null, args.concat(callArgs)); |
|
}; |
|
}; |
|
|
|
var _slice = require('./internal/slice'); |
|
|
|
var _slice2 = _interopRequireDefault(_slice); |
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|
|
|
; |
|
|
|
/** |
|
* Creates a continuation function with some arguments already applied. |
|
* |
|
* Useful as a shorthand when combined with other control flow functions. Any |
|
* arguments passed to the returned function are added to the arguments |
|
* originally passed to apply. |
|
* |
|
* @name apply |
|
* @static |
|
* @memberOf module:Utils |
|
* @method |
|
* @category Util |
|
* @param {Function} fn - The function you want to eventually apply all |
|
* arguments to. Invokes with (arguments...). |
|
* @param {...*} arguments... - Any number of arguments to automatically apply |
|
* when the continuation is called. |
|
* @returns {Function} the partially-applied function |
|
* @example |
|
* |
|
* // using apply |
|
* async.parallel([ |
|
* async.apply(fs.writeFile, 'testfile1', 'test1'), |
|
* async.apply(fs.writeFile, 'testfile2', 'test2') |
|
* ]); |
|
* |
|
* |
|
* // the same process without using apply |
|
* async.parallel([ |
|
* function(callback) { |
|
* fs.writeFile('testfile1', 'test1', callback); |
|
* }, |
|
* function(callback) { |
|
* fs.writeFile('testfile2', 'test2', callback); |
|
* } |
|
* ]); |
|
* |
|
* // It's possible to pass any number of additional arguments when calling the |
|
* // continuation: |
|
* |
|
* node> var fn = async.apply(sys.puts, 'one'); |
|
* node> fn('two', 'three'); |
|
* one |
|
* two |
|
* three |
|
*/ |
|
module.exports = exports['default']; |