Я довольно новичок в узле и асинхронном программировании (я исхожу из C-фона), и у меня возникают проблемы с автоматическим подключением к порту, у которого есть устройство с определенный vendorID с использованием serialport в Node.js. У меня все работает отдельно, т.е. Я могу подключиться к порту, и я могу найти порт с определенным идентификатором vendorID, но я не могу подключиться к порту, который я нашел. Вот код, который я до сих пор:Автоматическое подключение к определенному устройству с последовательным портом в Node.js
var SerialPort = require('serialport');
var MYport;
SerialPort.list(function (err, ports) {
ports.forEach(function(port) {
if(port.vendorId == 9999){
console.log('Found It')
MYport = port.comName.toString();
console.log(MYport);
}
});
});
var port = new SerialPort(MYport, {
parser: SerialPort.parsers.readline('\n')
});
Когда запускается я получаю сообщение об ошибке из-за того, что MYport не определен в то время, что порт создан и подключен.
Я знаю, что, скорее всего, мне придется использовать функцию обратного вызова, но я просто не могу понять это.
Спасибо за помощь
Хорошо, я вижу. Я также добавил функцию port.on для сбора данных и включил это снова в функцию списка, и теперь все работает. Для меня это просто неинтуитивно. Спасибо за помощь! – Tyler