При передаче в setInterval переменной serialPortData console.log постоянно выдает пустой массив. Если напрямую в saveToDB вывести в консоль serialPortData то все ок. Не могу разобраться в чем дело.
// 'serialport.js'
import serialport from 'serialport';
export let serialPortData = [];
var sp = new SerialPort(port, {
baudrate: 9600,
parser: serialport.parsers.readline("\n")
});
sp.on('data', onData);
function onData (d) {
data = JSON.parse(d);
}
// 'main.js'
import {serialPortData} from './serialport'
const saveToDB = (data) => () => {
console.log(data); // всегда []
console.log(serialPortData); // выводит нужный объект
};
setInterval(saveToDB(serialPortData), 20000);
dataперекрывает глобальную переменнуюdata- стоит подумать над именами – Grundy Aug 07 '17 at 13:46