Files: d2f2697f296dd39aed6a8b63c6d04a736a7db5b3 / node_modules / asyncmemo / README.md
1815 bytesRaw
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 cacheopts.asString
: function to convert an argument to a stringfn([args...], arg, cb(err, result))
: the asyncronous function to memoizeargs
: arguments to prepend to each call tofn
memo(arg, cb(err, result))
: memoized asynchronous functionmemo.cache
: cache object, eitheropts.cache
or a auto-created one
A custom cache object can be passed using the cache
option. This should have
has
, get
, and set
methods.
If you want to be able to use memoize a key that is not a string or number, you
can specify a asString
function to convert the key argument to a string.
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.
Built with git-ssb-web