从回调函数内部停止 setInterval

Stop setInterval from inside the callback function

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

如您所见,here setInterval returns 可以与 clearInterval 一起使用以停止间隔的数字。

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

例如:

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