keep-warm

1.3.3 • Public • Published

keep-warm

GitHub version NPM Version

Deps Dev Deps Peer Deps

NPM Downloads GitHub stars GitHub forks GitHub issues

A utility to maintain an always warm cache refreshed every x seconds

Basic example:

var keepWarm = require('keep-warm');
 
/* Params:
 * key: a unique string
 * fetch: a function returning a Promise
 * interval: cache will be updated every interval ms
 */
keepWarm('myKey', function() {
    // does something async and returns a Promise
}, 15000);
 
/* Params
 * key: the key you originally passed to keepWarm
 * Use when you want the data synchronously and don't care about a failure when the cache has not been initially populated
 */
var myData = keepWarm.get('myKey');
 
/* Params
 * key: the key you originally passed to keepWarm
 * Use when you want to wait for the cache to be populated if it's not
 */
var myData;
keepWarm.getAsync('myKey').then(function(value) {
    myData = value;
});

Note: This relies on the existence of a global Promise object as defined in the ECMAScript 6 (Harmony) proposal.

Readme

Keywords

Package Sidebar

Install

npm i keep-warm

Weekly Downloads

1

Version

1.3.3

License

ISC

Last publish

Collaborators

  • kunalgolani