Memoize promise-returning & async functions
Useful for speeding up consecutive function calls by caching the result of calls with identical input.
$ npm install p-memoize
const pMemoize = require('p-memoize');
const got = require('got');
const memGot = pMemoize(got, {maxAge: 1000});
(async () => {
memGot('https://sindresorhus.com');
// This call is cached
memGot('https://sindresorhus.com');
setTimeout(() => {
// This call is not cached as the cache has expired
memGot('https://sindresorhus.com');
}, 2000);
})();
Returns a memoized version of the fn
function.
Type: Function
Promise-returning or async function to be memoized.
Type: object
See the mem
options in addition to the below option.
Type: boolean
Default: false
Cache rejected promises.
Clear all cached data of a memoized function.
Will throw if passed a non-memoized function.
- p-debounce - Debounce promise-returning & async functions
- p-throttle - Throttle promise-returning & async functions
- More…