可能有更好的方法来执行此操作,但是出于好奇,使用javascript的setTimeout
函数向键值存储添加ttl支持是个好主意吗?
api.delete = function(key) { /* delete key */ };
api.set(key, value, ttl) {
return addKeyValuePairtoStore().then(success => {
if (success && ttl > 0) {
setTimeout(() => api.delete(key), ttl);
}
});
};
var cache = new Map();
cache.setWithTTL = function(key, value, ttl) {
this.set(key, value);
setTimeout(() => this.delete(key), ttl);
return this;
};
我想一个挑战就是跟踪多个setTimeout
及其状态,但是上面有一个thread。