@blued-core/interval-cache
v1.0.4
Published
用于实现一些定时更新的缓存。
Downloads
4
Keywords
Readme
interval-cache
用于实现一些定时更新的缓存。
install
npm install @blued-core/interval-cache
usage
import IntervalCache from '@blued-core/interval-cache'
const intervalCache = new IntervalCache()
const func = intervalCache.createCache('testa', () => 'Hello World')
func() // => Hello World
func() // => Hello World
// use async cache
async function test () {
const proFunc = intervalCache.createThenableCache('testb', async () => Promise.resolve('ping'))
proFunc().then(console.log) // => ping
console.log(await proFunc()) // => ping
}
config
实例化时传入的两个参数
import IntervalCache from '@blued-core/interval-cache'
const interval = 2000
const maxErrorCount = 10
const intervalCache = new IntervalCache(interval, maxErrorCount)
param|type|required|default|desc
:--|:--|:--|:--|:--
interval|number
|❌|1000ms|更新缓存的间隔(不包含代码执行的时间)
maxErrorCount|number
|❌|-1
|连续报错终止的次数,默认为-1
表示无限制,每次出错会按照interval
进行叠加时长,例如,出错三次,interval
为100ms
,则第二次执行的时间为200ms
后,第三次为300ms
后。 在正确获取到结果后会清除报错次数,重新计数
以上两个参数可以通过在调用createCache
、createThenableCache
时传入第三个参数进行覆盖:
如不填写则使用全局配置
intervalCache.createCache('key', () => 'get data', {
interval: 3000,
maxErrorCount: 50
})