improve memoize caching
This commit is contained in:
parent
70438b9796
commit
4214971cea
2 changed files with 15 additions and 6 deletions
|
|
@ -6,7 +6,8 @@ const logger = require('./logger')
|
|||
const lastRate = {}
|
||||
|
||||
const FETCH_INTERVAL = 10000
|
||||
function getRates (settings, fiatCode, cryptoCode) {
|
||||
|
||||
function _getRates (settings, fiatCode, cryptoCode) {
|
||||
return Promise.resolve()
|
||||
.then(() => {
|
||||
const config = settings.config
|
||||
|
|
@ -33,6 +34,9 @@ function getRates (settings, fiatCode, cryptoCode) {
|
|||
})
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getRates: mem(getRates, {maxAge: FETCH_INTERVAL})
|
||||
}
|
||||
const getRates = mem(_getRates, {
|
||||
maxAge: FETCH_INTERVAL,
|
||||
cacheKey: (settings, fiatCode, cryptoCode) => JSON.stringify([fiatCode, cryptoCode])
|
||||
})
|
||||
|
||||
module.exports = {getRates}
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ function fetchWallet (settings, cryptoCode) {
|
|||
|
||||
const lastBalance = {}
|
||||
|
||||
function balance (settings, cryptoCode) {
|
||||
function _balance (settings, cryptoCode) {
|
||||
return fetchWallet(settings, cryptoCode)
|
||||
.then(r => r.wallet.balance(r.account, cryptoCode))
|
||||
.then(balance => ({balance, timestamp: Date.now()}))
|
||||
|
|
@ -151,8 +151,13 @@ function cryptoNetwork (settings, cryptoCode) {
|
|||
return wallet.cryptoNetwork(account, cryptoCode)
|
||||
}
|
||||
|
||||
const balance = mem(_balance, {
|
||||
maxAge: FETCH_INTERVAL,
|
||||
cacheKey: (settings, cryptoCode) => cryptoCode
|
||||
})
|
||||
|
||||
module.exports = {
|
||||
balance: mem(balance, {maxAge: FETCH_INTERVAL}),
|
||||
balance,
|
||||
sendCoins,
|
||||
newAddress,
|
||||
getStatus,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue