node.js + serialport. Не ясен порядок выполнения кода
Всем привет!
Хочу разобраться с работой компорта на 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 Подскажите пожалуйста почему? |
| Часовой пояс GMT +3, время: 23:49. |