exports.run = (m1) => {
var timer1 = setTimeout(function () {
calculate()
}, 1000*5)
m1.on('finish', function () {
console.log(`таймер сброшен`);
clearTimeout(timer1)
calculate()
})
function calculate() {
// тут некоторые действия
}
return;
- это выход из любой внутренней функции. типа break для циклов. 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() {
// тут некоторые действия
}
let commandFile = require(`./commands/${cmd}.js`)
commandFile.run()
}, 1000*5, myvar1, myvar2, ...)
exports.run = (m1) => {
var timer1 = setTimeout(function () {
calculate(timer1)
}, 1000*5)
m1.on('finish', function () {
console.log(`таймер сброшен`);
clearTimeout(timer1)
calculate() // зачем тут ещё раз вызов?
})
function calculate(t) {
// тут некоторые действия
clearTimeout(t);
}
exports.run = (m1) => {
console.log(`Запуск таймера сбора данных`)
var timer1 = setTimeout(function () {
console.log(`Таймер закончился`)
calculate()
}, 1000*5)
m1.on('finish', function () {
console.log(`таймер сброшен`);
clearTimeout(timer1)
calculate()
})
function calculate() {
console.log(`Расчет`)
// тут некоторые действия
}
Первый вызов:
Вызов команды
Запуск таймера сбора данных
таймер сброшен
Расчет
Второй вызов:
Вызов команды
Запуск таймера сбора данных
таймер сброшен
Расчет
таймер сброшен
Расчет
m1.on('finish', function () {
console.log(`таймер сброшен`);
clearTimeout(timer1)
calculate()
})
внутрь функции таймера, то при уничтожении, теоретически, должен убиваться и его листенер...var timer1 = setTimeout(function () {
m1.on('finish', function () {
console.log(`таймер сброшен`);
clearTimeout(timer1)
calculate()
})
console.log(`Таймер закончился`)
calculate()
}, 1000*5)