gpt4 book ai didi

javascript - setTimeout 导致未捕获类型错误 : number is not a function

转载 作者:行者123 更新时间:2023-11-28 00:36:26 25 4
gpt4 key购买 nike

所以我在函数之外声明空白变量。

//To be Timeouts
var progressionTimer;
var nextTimer;
var cycleTimer;

然后在函数内

progressionTimer = setTimout(loadNextFunction, 2000);
progressionTimer();

nextTimer = setTimeout(loadOutsideFunction, 2000);
nextTimer();

//etc

但是每次调用其中一个声明时

nextTimer();

我的 chrome/firefox/etc 控制台充满了这个

Uncaught TypeError: number is not a function

它的功能绝对符合预期,并且clearTimeout工作没有问题,但是控制台错误让我很沮丧,任何人都可以在不失去功能的情况下解决这个问题,并且仍然可以让clearTimeout工作吗?

最佳答案

setTimeout 返回一个处理程序,一个允许您引用超时的 ID,以便您可以使用 clearTimeout(一个数字)清除它。

返回一个可以执行的函数,这就是问题所在,您正在尝试执行setTimeout的返回值

nextTimer = setTimeout(loadOutsideFunction, 2000);
nextTimer(); // not a function, but a number referencing the timeout ?

clearTimeout(nextTimer); // works just fine

关于javascript - setTimeout 导致未捕获类型错误 : number is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28444025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com