Всем привет!
Хочу разобраться с работой компорта на node.js
Разбирался по этой инструкции
https://www.npmjs.com/package/serialport
Пока стоит простая задача открыть порт руками, пописать туда что-то и корректно закрыть.
Столкнулся с тем, что у меня по какой-то причине методы отвечающие за работу с портом, выполняются позже всего остального кода независимо от их расположения.
Вот код:
var SerialPort = require('serialport').SerialPort;
var port = new SerialPort('COM3', {baudrate: 9600}, false);
console.log("1: ", checkPort());
port.open(function (err) {
if (err) {
return console.log('Error opening port: ', err.message);
};
console.log("2: ", checkPort());
port.write('main screen turn on \n');
console.log("3: ", checkPort());
port.close();
console.log("4: ", checkPort());
});
console.log("5: ", checkPort());
function checkPort() {
return (port.isOpen()) ? "port has been opened" : "port has been closed";
};
На выходе я ожидаю:
==============
1: port has been closed
2: port has been opened
3: port has been opened
4: port has been closed
5: port has been closed
Но в реальности так:
==============
1: port has been closed
5: port has been closed
2: port has been opened
3: port has been opened
4: port has been closed
Подскажите пожалуйста почему?