Очистить таймер в другом API, установленном setInterval()
, созданным в одном API.У меня есть API, который начинается setInterval()
, и я сохраняю его таймер в базе данных.Когда вызывается другой API, я хочу очистить старый таймер, используя идентификатор таймера старого таймера из базы данных.Я знаю, clearInterval()
сделает работу.
clearInterval()
выполнит работу, но после сохранения ее в БД (JSON.stringify(intervalId))
и извлечения (JSON.parse(intervalId))
, чтобы убить таймер, она не работает.Разве я не могу заполучить таймер после выхода из функции?Даже если я сохраню его в БД (таймер-идентификатор).Я делаю что-то не так?
var intervalID = setInterval(function() {
console.log(intervalID);
/// Updating in DB
Model.updateById(Id, {timer_data: JSON.stringify(intervalID)});
}, 30000);
}
// Теперь извлекаю и убиваю его
Model.findById(id).then(data=> {
var intervalID = JSON.parse(data.timer_data);
clearInterval(intervalID);
}
Я ожидал, что старый таймер будет убит, но он все еще жив и работает.Он удаляет все мои назначения, мне нужно, чтобы его убили при необходимости.