asyncmemo
v1.0.0 async cache memo memoize
asyncmemo
Memoize asynchronous function calls. Combine multiple calls with the same argument so that the underlying function is only called once for that argument. Optionally cache the result for that argument.
Install
npm install --save asyncmemo
Example
var asyncMemo = require('asyncmemo')
var xhr = require('xhr')
var get = asyncMemo(function (base, path, cb) {
xhr.get(base + path, cb)
}, 'http://localhost')
get('/foo', function (err, resp) {
console.log(err, resp)
})
API
asyncMemo([opts,] fn, [args...]): memo
opts.cache
: cache object, or false to disable cachefn([args...], arg, cb(err, result))
: the asyncronous function to memoizeargs
: arguments to prepend to each call tofn
memo(arg, cb(err, result))
: memoized asynchronous function
A custom cache object can be passed using the cache
option. This should have
has
, get
, and set
methods.
Related
- async-memo
- async-cache
- memo-cache
- memoizeasync
- thunky - does the same except memoizes only one value
License
Copyright (c) 2016 Charles Lehner
Usage of the works is permitted provided that this instrument is retained with the works, so that any entity that uses the works is notified of this instrument.
DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY.