繁体   English   中英

Electron - ipcRenderer.send() 的设置超时

[英]Electron - SetTimeout for ipcRenderer.send()

嗨,我正在从index.html文件中调用ipcRenderer.send()

我想要做的是将 function 调用延迟 5 秒。 但是,它似乎不起作用。

这就是我想要做的事情:

setTimeout(ipcRenderer.send('startYellowApple', ["bob", "cat"]), 5000);

以下是我在常规 Native Javascript function 中执行此操作的方法:

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 function。

ipcRenderer.send('startYellowApple', ["bob", "cat"])

实际上是一个 function 调用,它将立即调用,您应该将调用包装在 function 中以实现您想要的。

function start(){
   setTimeout(() => ipcRenderer.send('startYellowApple', ["bob", "cat"]), 5000);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM