Memoize a slow with callback in its arguments.
Memoize a slow function with callback in its arguments.
Note. The callback on the function must be the first argument.
npm install memoize_test
The input of memoize is slow_function and the output is a faster function.
memoize = require'memoize_test'fast_function = memoizeslow_function; // runs faster than slow_function by using cache functions
You can also pass the TTL. The default one will be 5 seconds.
fast_function = memoizeslow_functionttl:2000; // Time to live set to 2 seconds
We can also assume that sometimes the cache function can be slower than the slow_function.In this situation both the cache_retrieve and slow_fn will be called and the first being completed will be used. To see a solution for this case, take a look at better_memoization.coffee
For test purpose if you're running better_memoization.coffee the number 2 will always simulate the cache function being slower.