gpt4 book ai didi

javascript - React JS - 为什么这个变量的行为像一个函数?

转载 作者:行者123 更新时间:2023-12-03 02:36:45 26 4
gpt4 key购买 nike

我创建了一个倒计时器,但无法使用 clearInterval() 清除间隔。我最终将 setInterval 函数置于变量内部,然后将该变量作为 clearInterval() 中的参数传递。我不明白的是为什么首先调用 setInterval 函数,因为我所做的只是创建一个变量。变量内的函数会自动运行吗?您是否不必以某种方式调用它们(如果它位于变量内部,您甚至如何调用它?)。这是有效的代码,但我不明白为什么:

myFunct () {
const intervals = setInterval(() => {
if(this.state.time > 0) {
this.setState({ time: this.state.time-1 })
}
else {
clearInterval(intervals);
}
}, 1000);
}

最佳答案

这是setInterval的签名:

window.setInterval(callbackFn, delay, param1, param2, ..)

该函数返回一个数字,代表所设置的定时器的ID值。可以将此数字传递给 window.clearInterval 来清除计时器。所以当你这样调用它时:

const myInterval = setInterval(myCallback, 1000);

myInterval 现在是正在运行的计时器的数字 ID。如果myCallback调用clearInterval(myInterval),它会清除计时器。

https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setInterval

关于javascript - React JS - 为什么这个变量的行为像一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48512372/

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