diff options
Diffstat (limited to 'lib/memoize.js')
-rw-r--r-- | lib/memoize.js | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/lib/memoize.js b/lib/memoize.js index ea0da43..84526c3 100644 --- a/lib/memoize.js +++ b/lib/memoize.js @@ -1,5 +1,4 @@ import identity from './internal/identity'; -import slice from './internal/slice'; import setImmediate from './internal/setImmediate'; import initialParams from './internal/initialParams'; import wrapAsync from './internal/wrapAsync'; @@ -63,17 +62,16 @@ export default function memoize(fn, hasher) { queues[key].push(callback); } else { queues[key] = [callback]; - _fn.apply(null, args.concat(function(/*args*/) { - var args = slice(arguments); - var err = args[0]; + _fn.apply(null, args.concat(function(...resultArgs) { + var err = resultArgs[0]; // #1465 don't memoize if an error occurred if (!err) { - memo[key] = args; + memo[key] = resultArgs; } var q = queues[key]; delete queues[key]; for (var i = 0, l = q.length; i < l; i++) { - q[i].apply(null, args); + q[i].apply(null, resultArgs); } })); } |