Для записи я использую API-интерфейс Node для многих своих программ. Во всяком случае, когда я запускаю свой код, я получаю ошибку утечки памяти, говоря, что открыто 11 эмиттеров. Если это так, как бы я запретил моей программе открывать несколько экземпляров getData? Если я не могу этого предотвратить, есть ли грубый способ удалить экземпляры, которые я не хочу испускать? Я пытаюсь запустить функцию каждые 50 мс. Вот мой код:setInterval вызывает переполнение памяти?
setInterval(getData, 100);
function getData() {
"use strict";
//When the serialport opens:
serialport.on("open", function() {
serialport.on("data", function(data) {
//Takes the current string value, turns it into an integer, then stores it in nCurrentValue
runData(parseInt(data.toString()));
});
});
}
getData();
function runData(value) {
"use strict";
socket.emit('NewData',value);
console.log(value);
}
ну, вы добавляете триггеры событий для onopen и ondata каждые 100 мс секунд, поэтому, я думаю, после в то время как он наводняет да ... – Icepickle
Как было предложено @Icepickle, зачем вам нужно «setInterval»? По-видимому, это событие управляется событиями и будет вызывать метод 'runData' каждый раз, когда вы получаете данные. – DavidG