在网页上显示时,函数的输出未定义

时间:2018-12-27 16:31:35

标签: javascript node.js buffer

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函数,但是有同样的问题。如何在网页上显示我的输出?

0 个答案:

没有答案