Я создаю функцию, которая перечисляет последовательный порт и сохраняет его в массиве Js. Когда я нажимаю эту функцию в первый раз, в массиве просто отображается список последовательного порта. Все нормально. Когда я снимаю последовательный порт и снова щелкаю по нему, список снова отображается. И я нажимаю его второй раз, он может показать список последовательного порта, который порт снял. Как я могу щелкнуть в первый раз, он может вернуть обновленный список последовательного порта?
В HTML:
<div id="btn" class="btnSecond" onclick="Function4()">
<buttom class="noselect" >Function4</buttom>
</div>
В Js файле:
var serialport = require("serialport");
var arrOfport = [];
var arrOfportBackup = [];
SerialPortCall(); //In the beginning, I call this function first
function SerialPortCall(){
arrOfport = [];
arrOfportBackup = [];
SerialPortReCall();
}
function SerialPortReCall(){
serialport.list().then(ports => {
ports.forEach(function(port) {
arrOfport.push(port.path);
});
});
arrOfportBackup = arrOfport;
}
Function4 = function(){
SerialPortReCall();
alert(arrOfportBackup);
}
Первый результат:
/ dev / tty.AB C, / dev / tty.AB C -WirelessiAPv2, / dev / tty.AB C -WirelessiAP , / dev / tty.Bluetooth-Incoming-Port, / dev / tty.wchusbserial1410, / dev / tty.usbserial-1410
Снимите wchusbserial1410 и снова щелкните функцию 4:
/ dev / tty.AB C, / dev / tty.AB C -WirelessiAPv2, / dev / tty.AB C -WirelessiAP, / dev / tty.Bluetooth-Incoming-Port , / dev / tty.wchusbserial1410, / dev / tty.usbserial-1410
Щелкните еще раз Функция 4:
/ dev / tty.AB C, / dev / tty.AB C -WirelessiAPv2, / dev / tty.AB C -WirelessiAP, / dev / tty.Bluetooth-Incoming-Port