@taro-hooks/use-request
Version:
useRequest hook for Taro
32 lines • 1.08 kB
JavaScript
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
var cache = new Map();
var setCache = function setCache(key, cacheTime, cachedData) {
var currentCache = cache.get(key);
if (currentCache != null && currentCache.timer) {
clearTimeout(currentCache.timer);
}
var timer = undefined;
if (cacheTime > -1) {
// if cache out, clear it
timer = setTimeout(function () {
cache["delete"](key);
}, cacheTime);
}
cache.set(key, _extends({}, cachedData, {
timer: timer
}));
};
var getCache = function getCache(key) {
return cache.get(key);
};
var clearCache = function clearCache(key) {
if (key) {
var cacheKeys = Array.isArray(key) ? key : [key];
cacheKeys.forEach(function (cacheKey) {
return cache["delete"](cacheKey);
});
} else {
cache.clear();
}
};
export { getCache, setCache, clearCache };