Memoize
Memoize is a simple cache library that remembers the function execution results and can respond immediately.
Installation
The easiest way to install memoize is with npm
.
npm i memoize-promise-js
Alternately, download the source.
git clone https://github.com/stegano/memoize.git
Examples
var Memoize = require("memoize");
var chace = new Memoize({
expiredTime: 3000,
graceful: false
});
var testFunction = () => {
return new Promise(resolve => {
setTimeout(() => {
resolve("Proecced data.");
}, 10);
});
};
cache
.execute("identity", testFunction)
.then((data) => {
console.log(data);
});
cache
.execute("identity", testFunction)
.then((data) => {
console.log(data);
});
setTimeout(() => {
cache
.execute("identity", testFunction)
.then((data) => {
console.log(data);
});
}, 3500);
API
Memoize.execute(key, yourFunction[, expiredTime][, graceful]) : Promise
key
: Key to distinguish between tasks. Returns the cached data if the key values are equal and within the validity range.yourFunction
: The function to execute. The return value must always be of type Promise.expiredTime
: Time to cache data. Cached data is valid for the expiredTime time and the unit of value is ms.graceful
: If you use the graceful option, will use the cached data until new data has been processed even if the data has expired.
Docs
Create an API document using JSDoc.
npm install
npm run doc
Tests
To run the test suite, first install the dependencies, then run npm test
npm ininstall
npm test