fix: Set cache overflow of the setTimeout Maximum delay value (#1742)

This commit is contained in:
chenls
2022-03-25 23:40:15 +08:00
committed by GitHub
parent d31cb904db
commit 0c633ff67d

View File

@@ -58,7 +58,12 @@ export class Memory<T = any, V = any> {
return value;
}
const now = new Date().getTime();
item.time = now + expires;
/**
* Prevent overflow of the setTimeout Maximum delay value
* Maximum delay value 2,147,483,647 ms
* https://developer.mozilla.org/en-US/docs/Web/API/setTimeout#maximum_delay_value
*/
item.time = expires > now ? expires : now + expires;
item.timeoutId = setTimeout(
() => {
this.remove(key);