【发布时间】:2021-04-21 10:19:06
【问题描述】:
我正在尝试在我的电脑上添加可用端口,用于 Arduino 和电脑之间的串行通信。我已将 portsList 创建为数组变量,并将这些端口推送到该变量中。但最后,我得到的数组长度为0。我使用的是串口节点模块。
const SerialPort = require("serialport");
var portsList = [];
SerialPort.list().then((ports) => {
ports.forEach((port) => {
var portInfo = {
portPath: port.path,
portManufacturer: port.manufacturer,
};
portsList.push(portInfo);
console.log("Port: ", portInfo);
});
});
console.log(portsList.length);
【问题讨论】:
-
SerialPort.list()是异步的。您的console.log在它之前执行,因此数组仍然是空的。 -
那么如果 serialPort.list() 是异步函数,如何在数组中添加元素。
标签: javascript node.js arduino serial-port node-serialport