Как управлять «универсальным потоком» для тяжелых операцийJavascript

Форум по Javascript
Ответить
Anonymous
 Как управлять «универсальным потоком» для тяжелых операций

Сообщение Anonymous »

Я работаю над новым приложением Electron и испытываю трудности с ним. Я использую «better-sqlite», который выполняет вызовы синхронизации при запросе к базе данных. Для больших запросов он блокирует мой пользовательский интерфейс, поскольку он работает в основном процессе.
Поэтому я решил делегировать все свои запросы SQLite потоку, чтобы это не повлияло на мой основной процесс. Но тут я схожу с ума... Я пробовал много разных вещей, чтобы это сделать, но не смог найти хорошего решения. Каждый раз, когда я что-то пробовал, у меня возникали проблемы с импортом или выполнением кода в потоке.
Множество примеров в Интернете показывает, как работает worker_threads при разделении одной функции в потоке. Но в моем случае у меня более 10 сервисов баз данных, и я не хочу создавать работника для каждой функции каждого сервиса.
Я хотел бы иметь один «запрос к базе данных потока» и иметь возможность внедрять в него методы моего класса и ждать их завершения.
Меня бы гораздо меньше смущало использование «sqlite», который является асинхронным, вместо «better-sqlite», но это не вариант.
Я не могу понять, почему так сложно сделать такую простую вещь. Ребята, есть ли у вас какие-нибудь ресурсы или советы, как это легко сделать?
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/799 ... operations
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»