summaryrefslogtreecommitdiff
path: root/lib/memoize.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/memoize.js')
-rw-r--r--lib/memoize.js4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/memoize.js b/lib/memoize.js
index ec83620..d752d99 100644
--- a/lib/memoize.js
+++ b/lib/memoize.js
@@ -3,6 +3,7 @@ import rest from './internal/rest';
import setImmediate from './internal/setImmediate';
import initialParams from './internal/initialParams';
+import wrapAsync from './internal/wrapAsync';
function has(obj, key) {
return key in obj;
@@ -49,6 +50,7 @@ export default function memoize(fn, hasher) {
var memo = Object.create(null);
var queues = Object.create(null);
hasher = hasher || identity;
+ var _fn = wrapAsync(fn);
var memoized = initialParams(function memoized(args, callback) {
var key = hasher.apply(null, args);
if (has(memo, key)) {
@@ -59,7 +61,7 @@ export default function memoize(fn, hasher) {
queues[key].push(callback);
} else {
queues[key] = [callback];
- fn.apply(null, args.concat(rest(function(args) {
+ _fn.apply(null, args.concat(rest(function(args) {
memo[key] = args;
var q = queues[key];
delete queues[key];