我如何在 Electron 中多线程兼容 Node.JS 和 JQuery 函数?

How can I multi-thread in Electron with compatibility for Node.JS and JQuery functions?

我正在编写一个 Electron 应用程序,其中一些页面旨在通过从我的网络 API 中获取 Json 字符串来实时更新 table。重要的是我的 table 首先必须加载到文档 (HTML) 之前或之后(没关系)我开始一个新的 JavaScript 线程.我已经需要使用主进程来处理按钮和 table 事件。

该线程用于持续获取数据,如果它检测到与当前加载的文档有差异,它会将这些更改放回服务器。现在,我无法启动一个新线程,该线程可以完全访问 Node、Electron 和 JQuery.

中使用的预加载 JS 函数

下面列出了我尝试过的方法及其出错的原因,也许您可​​以帮助我找到解决这些问题的方法或建议新的方向(也许是另一个 NPM 模块?):

最后,为了修复我提到的第三个选项,我试图专注于提到的 ASAR 路径 here。修复了这个错误:

Uncaught Error: ENOENT, worker\api\exports\electron.js not found

但现在我处于线程可能在我加载页面后启动但甚至没有向控制台记录一个简单的“Hello”的地步,这可能是由于出色的线程隔离。

TLDR;我需要一种方法 运行 Electron 中的第二个线程,它可以完全访问预定义的对象。这个选项应该 运行 在主进程之后,一旦进入无限 while(True) 循环就不会停止页面加载。

正如 Darkrum 在评论中的回答:

setTimeOut or setInterval is your friend.

经过一些额外的研究(如果我在这里错了请评论):

这两个函数允许代码“同时”执行。因为 Javascript 在技术上只是一种单线程语言,所以真正的多线程是不存在的。相反,JS 引擎在处理 setTimeout 时,会不断地在主线程中检查更新。