let commandFile = require(`./commands/${cmd}.js`)
commandFile.run()
exports.run = (m1) => {
var kostil = 1
var timer1 = setTimeout(function () {
kostil -=1
if(kostil == 0) calculate()
}, 1000*5)
m1.on('finish', function () {
console.log(`таймер сброшен`);
clearTimeout(timer1)
kostil -=1
if(kostil == 0) calculate()
})
function calculate() {
// тут некоторые действия
}
Не нашел способа сбросить таймер и выполнить код. При сбрасывании код внутри игнорится. Для этого и есть второй вызов внутри на случай окончания полного таймера. А чем код откчается от моего?) Похоже увел вас разговорами о таймере в другое русло..
таймер у меня сбрасывается. все ок.
Проблема вот в чем.. У меня не получается закончить выполнение этой экспортированной функции. она продолжает работать даже после расчетов. Не помогает ретурн. Пробовал различными способами. Она продолжает слушать события "finish"
Вывод в консоль:
Даже и если после первого запуска попытаться сбросить таймер все из m1.on('finish')отработает.
Да, можно добавить переменную, чтобы проверять, чтобы отработал код только один единственный раз. Но проблема с тем, что функция не заканчивается останется.