Add caching

This commit is contained in:
Ace Nassri 2018-06-25 13:16:40 -07:00
parent 7063092393
commit 296841756d

View file

@ -28,7 +28,9 @@ const shopProto = grpc.load(PROTO_PATH).hipstershop;
* Helper function that gets currency data from an XML webpage
* Uses public data from European Central Bank
*/
let _data;
function _getCurrencyData (callback) {
if (!_data) {
request(DATA_URL, (err, res) => {
if (err) {
throw new Error(`Error getting data: ${err}`);
@ -45,9 +47,13 @@ function _getCurrencyData (callback) {
acc[x['currency']] = x['rate'];
return acc;
}, { 'EUR': '1.0' });
callback(results);
_data = results;
callback(_data);
});
});
} else {
callback(_data);
}
}
/**