Я программирую приложение Electron, и несколько страниц предназначены для обновления таблицы в режиме реального времени путем извлечения строк Json из моего веб-API.От этого зависит то, что мою таблицу сначала нужно загрузить в документ (HTML), до или после (это не имеет значения) я запускаю новый поток JavaScript.Мне уже нужно использовать основной процесс для обработки событий кнопок и таблиц.
Поток используется для непрерывного извлечения данных, и если он обнаруживает отличия от текущего загруженного документа, он помещает эти изменения обратно всервер.Сейчас у меня проблемы с запуском нового потока, который имеет полный доступ к предварительно загруженным функциям JS, которые используются в Node, Electron и JQuery.
Вот список того, что я пробовал, и почему это пошло не так,так что, может быть, вы можете помочь мне найти решение или предложить новое направление (может быть, другой модуль NPM?):
- Vanilla WebWorkers |Не удалось использовать какие-либо предопределенные функции из Node, Electron, JQuery, потому что он запускает совершенно новый процесс.
- Node child_process |Эта встроенная функция создает новый поток.Тем не менее, он работает в совершенно другой среде, что означает, что я не могу видеть вывод, если он есть на консоли / документе.
- Electron WebWorkers |Я нашел их в Документах и включил NodeIntegrationInWorker.Однако была ошибка, что он не смог найти файлы из works / api / etc, и я тоже не смог найти эти файлы.Важно отметить, что это не был модуль, который мне пришлось установить, поэтому IDK, где эти файлы даже находятся в моей системе после 30 минут поиска.
- Есть также несколько различных модулей NPM, которые я установил вбезрезультатно, в основном потому, что они были изолированы (например, расширенные WebWorkers, подобные Electron WebWorkers) или были изолированы (Расширение функции child_process (). fork, которая тоже не работала, из Node).
- нод-процесс
- workerjs
- потоков
- webworker-ng
- потоков webworker
Наконец, в попытке исправить третий вариант, который я упомянул, я попытался сосредоточиться на пути ASAR, упомянутом здесь .Это исправило эту ошибку:
Uncaught Error: ENOENT, worker\api\exports\electron.js not found
Но теперь я нахожусь в точке, где поток, вероятно, запускается, когда я загружаю страницу, но не записывает даже простое «Привет» на консоль, вероятно, из-заэта замечательная изоляция нити.
TLDR;Мне нужен способ запустить второй поток в Electron, который имеет полный доступ к предопределенным объектам.Мы надеемся, что этот параметр должен выполняться позади основного процесса, не останавливая загрузку страницы после того, как она переходит в бесконечный цикл True (* True).
, пожалуйста, пришлите любую помощь, я был бы очень признателенесли у вас есть какие-либо вопросы или вы хотите, чтобы я разработал / отредактировал свое сообщение, пожалуйста, прокомментируйте его перед тем, как голосовать, я все еще новичок в этом сайте.