lru-cache-promise
lru-cache with promises
This library wraps Isaac Z. Schlueter's lru-cache and adds a getAsync function.
Usage:
var cache = ; var { /* Do something async here to fetch the value */}; cache;
getAsync returns an A+ (specifically bluebird) promise.
- If the value has already been cached, the promise will resolve immediately
- If not, fetchFunction will be called with the requested key. fetchFunction must return either a concrete value or a promise.
getAsync ensures only one call to fetchFunction for a given key, allowing the calling code to be make many concurrent calls for the same key without negatively impacting the system from which the values are fetched.