gpt4 book ai didi

reactjs - 从 Electron 返回结果到 React

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

我有一个 Electron 打印方法:

ipcMain.on('print', (results, total) => {
PosPrinter.print(print_data, {
printerName: 'RECEIPT',
preview: false,
width: '170px', // width of content body
margin: '15 15 15 15', // margin of content body
copies: 1,
silent : true
})
.then(() => {
// some code ...
console.log("done");
return "Printing successful.."
})
.catch((error) => {
console.error(error);
return "Something went wrong."
});

我在 react 端访问这个方法,如:

  handlePrint = (e) => {
e.preventDefault();
ipcRenderer.send('print', this.state.cheques, this.state.total);
}

如果打印成功或渲染器出错,我如何能够返回状态消息?

最佳答案

您必须使用 ipcMain.on() 中的 event.reply() 函数

您的代码示例。

主进程。 Electron

ipcMain.on('print', (event, results, total) => {
// some code

.then(() => {
// some code ...
event.reply('print', 'Printing successful..')

}).catch((error) => {
event.reply('print', 'Something went wrong.')
});

渲染器进程(网页)。 React

ipcRenderer.on('print', (event, arg) => {
console.log(arg) // prints "Printing successful.." or "Something went wrong."
})

您可以在组件或 App.js 的 componentDidMount()useEffect() 中分配渲染过程代码

这是在执行时将数据从Main Process传输到Render Process的方式作为返回函数。

https://www.electronjs.org/docs/api/ipc-main#sending-messages

关于reactjs - 从 Electron 返回结果到 React,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63941296/

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