我正在尝试实现以下目标。在渲染器过程中,我有一个异步函数foo()
,它使用一个可选参数bar
作为回调函数引用。
从主进程(此处未显示)接收到success
并从主进程获取返回对象后,它将对该对象执行某些操作,然后调用作为参数传递的回调函数。
现在,为什么需要它是我有两个函数func1
和func2
,第一个函数将foo
连同提供的bar
一起调用。第二个没有。
我该如何执行呢?
import { ipcRenderer } from "electron";
// in renderer
async function foo(/*optional function reference*/ bar) {
ipcRenderer.send('message', {
//options
});
ipcRenderer.on('success', (event, obj) => {
//process obj
bar(); //callback function passed as argument
})
}
async function func1() {
foo(bar)
}
async function func2() {
foo() //no function passed
}
function bar() {
console.log("hello world")
}
最佳答案
找到了这个link
ipcRenderer.on('success', (event, obj) => {
//process obj
if (bar) {
bar(); //callback function passed as argument
}
})
似乎可以解决问题。
关于javascript - 如何将可选的回调函数传递给ElectronJS中的ipcRenderer.on(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60706054/