在javascript中将变量分配给回调函数

在javascript中将变量分配给回调函数,javascript,html,node.js,Javascript,Html,Node.js,下面的代码行通过控制台提供和输出,但我想将console.log数据分配给一个变量 下面是一个示例代码 const SerialPort = require('serialport') const Readline = require('@serialport/parser-readline') const port = new SerialPort('COM1', { baudRate: 9600 }) const parser = new Readline() port.pipe(pa

下面的代码行通过控制台提供和输出,但我想将console.log数据分配给一个变量 下面是一个示例代码

  const SerialPort = require('serialport')
const Readline = require('@serialport/parser-readline')
const port = new SerialPort('COM1', { baudRate: 9600 })

const parser = new Readline()
port.pipe(parser)



parser.on('data', line => variableName = `> ${line}`);

console.log(variableName);
此函数

line => variableName = `> ${line}`
未被调用,因为在调用
console.log
之前,程序尚未到达事件循环的下一个刻度。这是行不通的。如果要记录该结果,请将其记录在
.on
回调中

line => {
  const variableName = `> ${line}`;
  console.log(variableName);
}
我这样写是因为无括号的arrow函数的隐式返回并没有返回任何内容

line => variableName = `> ${line}`
未被调用,因为在调用
console.log
之前,程序尚未到达事件循环的下一个刻度。这是行不通的。如果要记录该结果,请将其记录在
.on
回调中

line => {
  const variableName = `> ${line}`;
  console.log(variableName);
}

我这样写是因为无括号的arrow函数的隐式返回没有返回任何内容。

variableName=`>${line}`不起作用吗?这样做需要理解变量范围和回调的异步性质。解释得很好。@JohnMontgomery确认了,但不起作用!你到底是什么意思?你有错误吗?有什么意想不到的事情发生了吗?这回答了你的问题吗?
line=>variableName=`>${line}`
不起作用吗?这样做需要了解变量范围和回调的异步性质。解释得很好。@JohnMontgomery确认了,但不起作用!你到底是什么意思?你有错误吗?有什么意想不到的事情发生了吗?这回答了你的问题吗?