Javascript Node.js Serialport同步读写
是否有人有以阻塞/同步方式使用node.js serialport模块的示例代码 我试图做的是向微控制器发送一个命令,并在发送下一个命令之前等待响应 我有发送/接收功能,但数据只是随侦听器传入的Javascript Node.js Serialport同步读写,javascript,node.js,serial-port,Javascript,Node.js,Serial Port,是否有人有以阻塞/同步方式使用node.js serialport模块的示例代码 我试图做的是向微控制器发送一个命令,并在发送下一个命令之前等待响应 我有发送/接收功能,但数据只是随侦听器传入的 serial.on( "data", function( data) { console.log(data); }); 是否有一种方法可以在执行完一个任务后等待返回的数据 serial.write("Send Command"); 我应该设置一个全局标志还是什么 对于nod
serial.on( "data", function( data) {
console.log(data);
});
是否有一种方法可以在执行完一个任务后等待返回的数据
serial.write("Send Command");
我应该设置一个全局标志还是什么
对于node.js的异步编程风格,我还是新手
谢谢没有这样的选择,实际上也没有必要。一种方法是维护命令队列。大概是这样的:
function Device (serial) {
this._serial = serial;
this._queue = queue;
this._busy = false;
this._current = null;
var device = this;
serial.on('data', function (data) {
if (!device._current) return;
device._current[1](null, data);
device.processQueue();
});
}
Device.prototype.send = function (data, callback) {
this._queue.push([data, callback]);
if (this._busy) return;
this._busy = true;
this.processQueue();
};
Device.prototype.processQueue = function () {
var next = this._queue.shift();
if (!next) {
this._busy = false;
return;
}
this._current = next;
this._serial.write(next[0]);
};