用于缓存异步任务。 项目地址
安装
1
| npm install cache-promise
|
使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| import CachePromise from 'cache-promise'
var accessToken = new CachePromise( () => httpClient.get('http://xxx.com/token'), 30000, )
accessToken.get().then((accessToken) => console.log(accessToken))
accessToken.clearCache()
accessToken.forceUpdate()
|
其他
值得一提的是插件会最大可能复用上次的异步任务
1 2 3 4 5 6 7 8 9 10
| import CachePromise from 'cache-promise'
function test() { return new Promise((resolve) => setTimeout(resolve, 1000)) }
const cache = new CachePromise(test)
cache.get() cache.get()
|
在上述场景中,理论上本插件还可以实现当第一次的 cache.get
出错的时候,第二次的 cache.get
就不再复用它的结果,重新调用 test 去获取最新结果。
不过感觉是个伪需求,暂时只记录一下。