asyncmemo

1.0.0 • Public • Published

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 cache
  • fn([args...], arg, cb(err, result)): the asyncronous function to memoize
  • args: arguments to prepend to each call to fn
  • 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

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.

Readme

Keywords

Package Sidebar

Install

npm i asyncmemo

Weekly Downloads

4

Version

1.0.0

License

Fair

Last publish

Collaborators

  • cel