嗨,我是从ipcRenderer.send()
文件中调用index.html
的。
我想做的是将函数调用延迟5秒。但是,它似乎不起作用。
这实际上是我想要做的:setTimeout(ipcRenderer.send('startYellowApple', ["bob", "cat"]), 5000);
这是我如何在常规Native Javascript函数中执行此操作的方法:
function start(){
setTimeout(ipcRenderer.send('startYellowApple', ["bob", "cat"]), 5000);
}
难道我做错了什么?但是,通过使用这种方法,我设法取得了一些进步。但是,它冻结了我的整个 Electron 程序,直到5秒钟过去了,这真的是不理想的:
function sleep(milliseconds) {
const date = Date.now();
let currentDate = null;
do {
currentDate = Date.now();
} while (currentDate - date < milliseconds);
}
function start(){
sleep(5000);
ipcRenderer.send('startYellowApple', ["bob", "cat"]);
}
有人可以帮我吗?谢谢!
最佳答案
问题是如何将回调传递给setTimeout函数。
ipcRenderer.send('startYellowApple', ["bob", "cat"])
实际上是一个函数调用,它将立即调用,您应该将该调用包装在一个函数中以实现所需的功能。function start(){
setTimeout(() => ipcRenderer.send('startYellowApple', ["bob", "cat"]), 5000);
}
关于javascript - Electron -ipcRenderer.send()的SetTimeout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65726998/