promise that keeps itself fresh
var FreshPromise = require("fresh-promise");
var cached = new FreshPromise(5000/*ttl*/, function() {
return Promise.resolve(Math.random());
});
cached.then(...);
cached.then(...); // should be the same
sleep(5000).then(...); // promise should be updated