在javascript中将变量分配给回调函数
下面的代码行通过控制台提供和输出,但我想将console.log数据分配给一个变量 下面是一个示例代码在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
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确认了,但不起作用!你到底是什么意思?你有错误吗?有什么意想不到的事情发生了吗?这回答了你的问题吗?