[英]How can I stop setInterval?
我正在尝试通过调用 clearInterval 来清除 setInterval。 但是,我在函数内部调用 setInterval 函数。 所以我想通过clearInterval触发setInterval中的参数,但我不知道如何到达这个东西。 我所说的令人困惑,所以我只想向您展示代码:
function getAPI() { const polling = () => { if (convert !== undefined) { axios .post("/realtime", { GET_API_URL: convert.GET_API_URL, Headers1_key: convert.Headers1_key, Headers1_Value: convert.Headers1_Value, Headers2_key: convert.Headers2_key, Headers2_Value: convert.Headers2_Value, Headers3_key: convert.Headers3_key, Headers3_Value: convert.Headers3_Value, }) .then(response => { setRandom(response.data); }) .catch(error => { console.log(error); }); } else { alert("try again."); } }; setInterval(polling, convert.API_Read_Speed); } const init = () => { clearInterval(polling); // i want to call polling and i want to stop the axios posting };
根据您的评论,您似乎需要停止投票以做出反应。 你可以使用useRef
钩子来保持区间的引用并在你喜欢的时候清除它。
useEffect(() => {
interval.current = setInterval(() => {
...
}, ms)
}, [input]);
const closeConnection = () => {
clearInterval(interval.current);
}
您可以将setInterval
存储在变量中并像这样访问它。
例子:
let interval;
function foo() {
interval = setInterval(() => {
...
}, ms)
}
function bar() {
clearInterval(interval);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.