Постоянно работающий цикл в ElectronJS / Angularapp без блокировки рендерера - PullRequest
0 голосов
/ 02 марта 2019

У меня есть настольное приложение ElectronJS, которое с 5-секундным интервалом вызывает команду Powershell, чтобы получить список подключенных съемных дисков из события «готово» приложения.Кажется, что этот цикл (в setInterval) приводит к тому, что основное окно BrowserWindow "" не отвечает ".

Приложение в основном просто показывает пользователю их подключенные съемные устройства (например, USB-карты, SD-карты и т. Д.), Поэтому ячтобы он вызывал команду Powershell, что является простым и легким делом, поскольку все наши пользователи являются корпоративными и работают под управлением Windows, но меня беспокоит блокировка рендерера / браузера.Как я могу иметь этот непрерывно работающий цикл на интервале в файле main.js ElectronJS?без ущерба для производительности пользовательского интерфейса или зависания?

Ответы [ 2 ]

0 голосов
/ 08 марта 2019

Мне удалось добиться этого, используя readdir вместо readdirSync для проверки файлов и запустив powershell из основного процесса.Проблема была в readdirSync.

0 голосов
/ 02 марта 2019

Звучит как идеальный кандидат для Web Worker .

Документы Electron имеют небольшую запись на многопоточность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...