summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
author迷渡 <justjavac@gmail.com>2019-07-18 18:09:32 +0800
committerRyan Dahl <ry@tinyclouds.org>2019-07-18 06:09:32 -0400
commitac98bd8a7ce13e6aaf35d13b8743281df24806d7 (patch)
tree87fb07b604fc2876341a881dd6562f466396764f /js
parenta0b8f13f18b24924d050e196baf6132b27a6011f (diff)
fix timer's params length (#2655)
Diffstat (limited to 'js')
-rw-r--r--js/timers.ts14
-rw-r--r--js/timers_test.ts7
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);
});