gpt4 book ai didi

javascript - ipcMain.handle中的fs.readdir不返回

转载 作者:行者123 更新时间:2023-12-03 12:22:03 25 4
gpt4 key购买 nike

它总是返回未定义的,请问有什么想法吗?
我需要在fs.reddir中返回,但相对于ipcMain

//main

ipcMain.handle('pegaDirRomSalvo', async (event, argx=0) => {
fs.readFile('dataCR.txt', 'utf8', function (err,data) {

if (err) {return '0'}
fs.readdir(data, (err, files) => {
if (err) {throw err;}
return [data,files] //<-------- not going
})

})
})


//render

ipcRenderer.invoke('pegaDirRomSalvo',a=0).then((result)=>{
document.getElementById('divCaminho').innerText = result[0]
})

最佳答案

您需要使用event.sender.send来触发另一个从mainrenderer进程的调用,以返回结果,最后一个将使用ipcRenderer.on对其进行监听。这是一个示例解决方案:
渲染器:

const { ipcRenderer } = require('electron');
ipcRenderer.invoke('pegaDirRomSalvo', a=0);
ipcRenderer.on('FILES_LIST_FETCHED', (event, result) => {
console.log(result);
document.getElementById('divCaminho').innerText = result[0]
});
主要:
const { ipcMain } = require('electron');
ipcMain.handle('pegaDirRomSalvo', async (event, argx=0) => {
fs.readFile('dataCR.txt', 'utf8', function (err,data) {
if (err) { return '0'; }
fs.readdir(data, (err, files) => {
if (err) {throw err;}
event.sender.send('FILES_LIST_FETCHED', [data, files]);
})
});
});
如果需要,您可以执行相同的操作以返回错误详细信息。
编辑:使用 renderer发送 ipcRenderer.send调用并使用 mainipcMain.on进程上接收它时,通常使用此技术。

关于javascript - ipcMain.handle中的fs.readdir不返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66358539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com