【发布时间】:2022-01-15 23:15:23
【问题描述】:
我正在使用的当前代码:
async function MainFunction(){
let arrOO;
process.on('message', (jData) => {
let sName;
if(jData.koota){
sName = jData.koota[0]
}
console.log(sName + ' hello!')
arrOO = sName
})
console.log(arrOO + ' calling outside of .on')
}
我正在尝试打印分配给sName 的jData.koota[0],以便它可以在整个函数中使用。在这种情况下,在 process.on 之外,我想打印它。运行此代码时,在 console.log(arrOO + ' calling outside of .on') 处返回“未定义”。我如何在 process.on 之外调用 sName?
【问题讨论】:
-
process.on()只是安装一个事件侦听器并立即返回,因此您的console.log()在任何事件发生之前运行。因此,您只是在将数据放入其中之前查看数据。对于想要了解这些进程消息的代码,您需要将其放入process.on()回调中,或者将其放入您从该回调中调用的函数中。这是您知道何时收到消息的唯一方法。
标签: javascript node.js electron