Я пытаюсь создать функцию предупреждения, которая срабатывает после 5 минут, если мой гаражный дом все еще открыт. Проблема в том, что независимо от того, какое сообщение появляется после «offen», cleartimeout не работает, поэтому Alert выполняется после каждого статуса «offen». был бы здорово, если бы кто-то может дать мне подсказку ...node.js clearTimeout() не работает
function handleGarageState(message) {
Status = message.toString();
garageState = message
io.emit('Garagenstatus', {
data: String(garageState)
});
var Eintrag = {
Datum: moment().format('YYYY-MM-DD HH:mm:ss'),
Status: Status
};
writeStatus(Eintrag);
if (Status == 'offen') {
var alert = setTimeout(function() {
console.log("ALERT "); //here will be the alert function
}, 60000 * 5)
} else {
clearTimeout(alert);
}
}
Прошу подробно показать код. откуда вы называете handleGarageState? В какой области вы определяете оповещение? – Adam
просто добавьте еще одно clearTimeout до setTimeout. Что-то вроде if (alert) {clearTimeout (alert); } – KoIIIeY
Я попытался определить предупреждение variabel в инструкции if (отредактировал его прямо сейчас), а также как глобальную переменную (var alert = "";) – volker