diff options
author | 迷渡 <justjavac@gmail.com> | 2019-07-18 18:09:32 +0800 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2019-07-18 06:09:32 -0400 |
commit | ac98bd8a7ce13e6aaf35d13b8743281df24806d7 (patch) | |
tree | 87fb07b604fc2876341a881dd6562f466396764f /js | |
parent | a0b8f13f18b24924d050e196baf6132b27a6011f (diff) |
fix timer's params length (#2655)
Diffstat (limited to 'js')
-rw-r--r-- | js/timers.ts | 14 | ||||
-rw-r--r-- | js/timers_test.ts | 7 |
2 files changed, 17 insertions, 4 deletions
diff --git a/js/timers.ts b/js/timers.ts index 7cac5cc6d..388827331 100644 --- a/js/timers.ts +++ b/js/timers.ts @@ -229,7 +229,7 @@ function setTimer( /** Sets a timer which executes a function once after the timer expires. */ export function setTimeout( cb: (...args: Args) => void, - delay: number, + delay: number = 0, ...args: Args ): number { // @ts-ignore @@ -240,7 +240,7 @@ export function setTimeout( /** Repeatedly calls a function , with a fixed time delay between each call. */ export function setInterval( cb: (...args: Args) => void, - delay: number, + delay: number = 0, ...args: Args ): number { // @ts-ignore @@ -261,10 +261,16 @@ function clearTimer(id: number): void { idMap.delete(timer.id); } -export function clearTimeout(id: number): void { +export function clearTimeout(id: number = 0): void { + if (id === 0) { + return; + } clearTimer(id); } -export function clearInterval(id: number): void { +export function clearInterval(id: number = 0): void { + if (id === 0) { + return; + } clearTimer(id); } diff --git a/js/timers_test.ts b/js/timers_test.ts index 76563c96e..2b10d9dad 100644 --- a/js/timers_test.ts +++ b/js/timers_test.ts @@ -249,6 +249,13 @@ test(function testFunctionName(): void { assertEquals(clearInterval.name, "clearInterval"); }); +test(function testFunctionParamsLength(): void { + assertEquals(setTimeout.length, 1); + assertEquals(setInterval.length, 1); + assertEquals(clearTimeout.length, 0); + assertEquals(clearInterval.length, 0); +}); + test(function clearTimeoutAndClearIntervalNotBeEquals(): void { assertNotEquals(clearTimeout, clearInterval); }); |