我正在尝试将数据内容传递给外部变量
使用#playlist {
overflow-y: scroll;
height: 544px;
}
行。请参见下面的代码。
mat-select
lottoNumber = rndNum;
的预期输出是var SerialPort = require('serialport');
const Buffer = require('buffer').Buffer;
var port = new SerialPort('/dev/ttyACM0', {
baudRate: 9600, parser: new SerialPort.parsers.Readline("\n\r")
});
var rndNum = -1;
var lottoNumber = -99;
// Read the port data
port.on('data', function(data) {
const buf = Buffer.from(data);
rndNum = buf.readUInt8(0,1);
if((rndNum > 0) && (rndNum < 41)) {
lottoNumber = rndNum;
port.close(function (err) {
console.log(err);
});
}
});
console.log(lottoNumber);
的数字,但实际输出是console.log(lottoNumber);
,这是错误的。如何将1-40
的内容传递给-99
?感谢您的帮助!。
答案 0 :(得分:0)
不熟悉serialport,但是除非调用它,否则将无法访问函数port.on()范围之外的新变量声明。
var lottoNumber = -99
function portable(data){
var rndNum = Math.floor(Math.random() * Math.max(data))
lottoNumber = rndNum;
}
console.log(lottoNumber) // will log -99
变量lottoNumber不在Portable()范围内
portable(41)
console.log(lottoNumber) // will log to the console random numbers only if portable() is called