我正在使用 Johnny-5、React 和 node.js 创建网站来控制我的 Arduino 板,但我一直在处理异步/等待功能。因此,用户将选择的端口(COM1)例如发送到服务器,然后服务器创建新的板实例
async function checkPortConnection(port) {
let board = new five.Board({port: port});
let success;
await board.on('error', () => {
success = false;
});
await board.on('ready', () => {
success = true;
});
return success;
}
我认为关键字 await 将停止函数执行并等待大约 7 秒的板响应,但是当我这样做时:
checkPortConnection(port).then((data)=>{
console.log(data);
});
我得到'未定义',(因为我得到success
的是未定义的?)然后如果选择的端口正确与否,服务器将发送响应。但我的问题是,如何从checkPortConnection()
函数中获得适当的响应?