首页 > 解决方案 > 从回调函数内部停止 setInterval

问题描述

setInterval(foo, 1000);在 JavaScript 中使用 1 秒后调用名为 foo 的函数。在函数中,foo我发送 api 请求以检查某些内容。我想停止setInterval依赖于 api 请求的响应foo

标签: javascriptsetinterval

解决方案


正如您在此处看到的,setInterval返回一个可用于clearInterval停止间隔的数字。

如果您将该数字存储在某个地方,您可以稍后在回调函数中使用它。

例如:

const map = {}
const foo = () => {
    // ...your async stuff goes here
    clearInterval(map.interval)
}
map.interval = setInterval(foo, 1000)

推荐阅读