@axolo/node-wechat
Version:
Wechat OpenAPI Node.js SDK.
52 lines (46 loc) • 1.13 kB
JavaScript
;
const cacheManager = require('cache-manager');
class WechatSdkCache {
constructor(config = {}) {
const { manager = cacheManager } = config;
this.cache = manager.caching(config);
}
/**
* **获取缓存**
*
* @param {string} key 键
* @return {promise} 缓存
* @memberof WechatSdkCache
*/
get(key) {
const { cache } = this;
return new Promise((resolve, reject) => {
cache.get(key, (err, res) => {
if (err) return reject(err);
return resolve(res);
});
});
}
/**
* **设置缓存**
*
* @param {string} key 键
* @param {any} val 值
* @param {object} options 选项
* @return {promise} 缓存
* @memberof WechatSdkCache
*/
set(key, val, options) {
const { cache } = this;
return new Promise((resolve, reject) => {
cache.set(key, val, options, err => {
if (err) return reject(err);
cache.get(key, (err, res) => {
if (err) return reject(err);
return resolve(res);
});
});
});
}
}
module.exports = WechatSdkCache;