我正在使用Wavecom 8端口短信调制解调器我的问题是我想在写入AT命令时检查是否有错误(例如没有负载平衡或没有插入SIM卡)然后它将检查另一个可用端口以重新发送SMS。
我想只捕获ERROR或OK输出
我用过这个功能
function sendSync(port, src) {
return new Promise((resolve, reject) => {
port.write(src,(err)=>{
if(err){
reject(err)
}
port.drain()
});
port.once('data', (data) => {
console.log('###############################',data.toString())
resolve(data.toString());
});
port.once('error', (err) => {
console.log('************************')
reject(err);
});
});
}
我现在使用serialport 5.0
我通过创建这个函数来解决我的问题
function writeSync(serial,cmd){
return new Promise(function(resolve,reject){
serial.write(cmd)
serial.drain()
serial.once('data',(data)=>{
var arr = data.toString()
var str = arr.split(/\r?\n/);
//console.log(str[1])
resolve(str[1])
})
})
}