getErgSerial
将正确的输出返回到控制台,但是将错误的输出返回到网页。当将一件健身器材(划船机)连接到序列号时,该序列号将显示在网页上。但是,这不起作用,并且显示undefined
function getErgSerial(){
//response is handled
erg.on('frame', (frame) => {
let response = new csafe.Response(frame.buffer);
console.log('Contents :', response.contents);
let resString = response.contents.toString();
let output = resString.replace(/\D/g,'');
console.log(output);
return output;
})
//error is handled
erg.on('error', (error) => {
console.log('Error occured: ', error);
})
//write commmand to erg
const getSerial = new csafe.Command('GetSerial');
erg.write(getSerial);
}
下面是控制台的输出
Contents : <Buffer 81 94 09 34 33 30 30 30 30 32 34 37>
430000247
下面是函数输出在我的网页中的显示方式,data
是html文件。
res.writeHead(200, {'Content-type':'text/html'});
res.write(data + '<h1> ' + ergConnection.getErgSerial() + '</h1>');
res.end();
感谢您的帮助。 戴夫
编辑: 请遵循本文中的建议:How do I return the response from an asynchronous call? 我创建了一个onComplete函数,但是有同样的问题。如何在网页上显示我的输出?