Commit 0c633ff67d6c360cecef2ae8b4cc4b97a77da04d

Authored by chenls
Committed by GitHub
1 parent d31cb904

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

Showing 1 changed file with 6 additions and 1 deletions
src/utils/cache/memory.ts
@@ -58,7 +58,12 @@ export class Memory<T = any, V = any> { @@ -58,7 +58,12 @@ export class Memory<T = any, V = any> {
58 return value; 58 return value;
59 } 59 }
60 const now = new Date().getTime(); 60 const now = new Date().getTime();
61 - item.time = now + expires; 61 + /**
  62 + * Prevent overflow of the setTimeout Maximum delay value
  63 + * Maximum delay value 2,147,483,647 ms
  64 + * https://developer.mozilla.org/en-US/docs/Web/API/setTimeout#maximum_delay_value
  65 + */
  66 + item.time = expires > now ? expires : now + expires;
62 item.timeoutId = setTimeout( 67 item.timeoutId = setTimeout(
63 () => { 68 () => {
64 this.remove(key); 69 this.remove(key);