/async-memoize

Memoize that handles async-functions

Primary LanguageJavaScript

Async-Memoize

Memoizes an async function

Similar to http://underscorejs.org/#memoize -> it memoizes the result of a function. However, instead of functions with a return-value:

function fib(n) {
  return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2);
}

It handles async-functions

function asyncFunction(a, b, callback) {
  //Maybe some I/O here
  callback(a+b, b+a);
}

//Run and save asyncFunction for 1000 milliseconds
AsyncMemoize.memoize(asyncFunction, 1, 2, {timeout : 1000},function(a, b) {
    //a == 3, b == 3
});