См. Следующий код.Ожидаемое поведение будет состоять в том, чтобы увидеть единственное «100» в консоли, а затем ничего больше, поскольку интервал очищается.Однако на самом деле он записывает между 2-3'100 каждый раз перед очисткой.Почему интервал не очищается сразу?
var endpoint = "https://example.com";
axios
.post()
.then(function(response) {
var timerId = setInterval(function() {
axios
.get(endpoint + response.data.url)
.then(function(response) {
console.log(response.data.percentageComplete);
if (response.data.percentageComplete == 100) clearInterval(timerId);
})
.catch(function(error) {});
}, 1000);
})
.catch(function(error) {});