我正在学习 Nodejs 和 Electron,我正在尝试从渲染器接收数据,处理这些数据,然后将它们发送回渲染器。但是我的处理函数太慢或者我真的不知道,所以ipc过早发回数据并生成未定义的数据。简而言之,我希望我的 treat 函数在 ipcMain 事件发回消息之前完成。这只是我陷入困境的一个例子,虽然这不是我真正的代码,我可以向您发送真实的代码,但它真的很乱,就像很多一样..
// In main process.
const {ipcMain} = require('electron')
function treatData (input) {
var treated = treat(input)
// ...
console.log(treated) // prints the actual treated data
return treated;
}
ipcMain.on('asynchronous-message', (event, rawdata) => {
console.log(rawdata) // prints my raw data
var dataTreated = treatData(rawdata)
console.log(dataTreated) // prints Undefined
event.sender.send('asynchronous-reply', dataTreated) // send Undefined data
})
Run Code Online (Sandbox Code Playgroud)
当我每天都在学习新事物时,我经常坚持我认为的基本内容......但我在这里,我需要你的帮助。我已经寻找过像我这样的问题,但我找不到任何东西,因为我不知道问题实际上叫什么。我搜索了带有 async 和 wait 的异步函数,但我不知道如何将它们放在这里。因为 async 似乎不适用于 ipcMain 或者我不知道我错过了什么,但这不起作用:
async function RenderMessage () {
ipcMain.on('asynchronous-message', (event, rawdata) => …Run Code Online (Sandbox Code Playgroud)