Vadim
WebWorker и SharedWorker могут работать с OffscreenCanvas, например
Вряд-ли воркеры как-то изменят свое поведение при сворачивании окна
Egor
Вот и я думаю что все таки это основное окно с UI
Vadim
И CPU тоже будет проседать
Илья
коллеги подскажите, что не так? на стороне процессора ( ipcMain.handle('1', async (event, ...args) => { let promise = new Promise((resolve, reject) => { setTimeout(() => resolve("ok"), 1000); }); promise.then(function(result) { return result }, function(err) {}); }) ) В рендере ( async () => { let result = await ipcRenderer.invoke('1', arg1, arg2) console.log(result) } ) В консоли пусто
Danila
Вы результат возвращаете не в главном callback внутри handle
Danila
делайте через await внутри callback у handle
Danila
return await promise;
Илья
Достаточно же подключить, в процессорной части : const { app, BrowserWindow, ipcMain } = require('electron') А в рендере: const { ipcRenderer } = require('electron') Так? А то что то не работает ни чего )
Danila
Я вам объяснил, что не работает. У вас очевидные пробелы в понимании работы JS и NodeJS и тут вам мало чем поможет сообщество
Илья
Вот так должно робить?: ipcMain.handle('1', async (event, ...args) => { return await new Promise((resolve, reject) => { setTimeout(() => resolve("ok"), 1000); }); })
Илья
Нет? Значит пошел, учиться
Danila
у вас внутрь callback handle идет алгоритм? пробовали перед return await.. поставить дебагер?
Danila
есть что-то в терминале (не в браузере)?
Electron.js releases
v12.0.0-nightly.20201007 https://github.com/electron/electron/releases/tag/v12.0.0-nightly.20201007 v12.0.0-nightly.20201007
Таймураз
Ребят, есть какой-то православный способ сохранять данные в электроне?
Vadim
Из вариантов: localstorage, electron-store, SQLite
Vadim
Плюс фс никто не отменял
Таймураз
Смотря какие данные
Пока именно модели данных Ты бы для них что заюзал?
Таймураз
Я просто хочу сколь-нибудь кошерно сделать, из мыслей было handle юзать и с фс работать, но мб есть какая-то высокая материя, о которой я не знаю
Таймураз
nedb с сохранением локально норм? и проксированием данных через ipc
Vadim
Главное не слишком частые операции
Таймураз
Выглядит весьма неплохо
Я так понял, серебряной пули нет%(
Vadim
Я так понял, серебряной пули нет%(
Но тип если не будет хватать
Vadim
Есть монга
Таймураз
гребаный жоес ищешь нужный модуль больше чем код пишешь
Таймураз
Есть монга
Не, мне нужен клиент, который только с апихой общается
Vadim
nedb с сохранением локально норм? и проксированием данных через ipc
Посмотри эти варианты, просто не факт что нужны усложнять
Anonymous
Всё нравится, но постоянно боюсь потерять базу
Илья
привет коллеги! заметил интересную вещь. По клику на кнопку вызываю метод ipcRenderer.send('return', date) Ответ вывожу в консоль и в документ ipcRenderer.on('test', (event, arg) => { console.log(arg) document.getElementById('block').innerHTML = arg }) После каждого нажатия на кнопку в консоль выводит arg на один раз больше, в документ нормально. Почему так? )
Илья
так то это не парит, просто интересно почему так
Сергій
Если у тебя ipcrenderer.on() находиться в функции которую ты вызываешь на клик, тогда будет всегда выводить на один раз больше, потому что ты не чистишь ивент
Сергій
Юзай once, а не on При клике тогда не будет такой фигни
Илья
Юзай once, а не on При клике тогда не будет такой фигни
пробовал, тогда срабатывает один раз и все, ну как написано в доках, once раз выполняет и удаляет типо такого или я что то не так понял и делал )
artalar
Чет не грузится react extension
Egor
Чет не грузится react extension
а что не так в manifest у тебя?
artalar
я так понимаю это манифест экстеншена
Bakhrom
Уверен, что вам нужно спускаться ниже и писать интеракцию между девайсом и electron на Node.js или C (через bridge)
Доброго времени. Я исползую Electron с React и Node JS. Реализовав чтение и обработку данных из сканера баркода в Node js и получив их в клиенте, я смогу обернуть все это в exe файл для установки в Windows? При установке нужно будет также установить Node JS на компе?
Bakhrom
А как будет работать без node js?
Незнаю. electron-packager не должен установить Node?
Bakhrom
Я вперые работаю с Electron
Electron.js releases
v12.0.0-nightly.20201009 https://github.com/electron/electron/releases/tag/v12.0.0-nightly.20201009 v12.0.0-nightly.20201009
Electron.js releases
v11.0.0-beta.12 https://github.com/electron/electron/releases/tag/v11.0.0-beta.12 v11.0.0-beta.12
Андрей
Всем привет, как заставить электрон работать с sqlite3?
Андрей
В консоли выдаёт Error: The N-API version of this Node instance is 1. This module supports N-API version(s) 3. This Node instance cannot run this module.
Anonymous
Похоже последние ноды не дружат
Bakhrom
Всем привет! Какой самый лучший способ хранения пользовательских данных в Electron? Объем данных очень маленький.
Андрей
Похоже последние ноды не дружат
Оказалось была страя версия в шаблоне указана.
Андрей
После обновеления теперь alt+f4 не работает
Андрей
Кто-нибудь знает как починить
Electron.js releases
v12.0.0-nightly.20201012 https://github.com/electron/electron/releases/tag/v12.0.0-nightly.20201012 v12.0.0-nightly.20201012
Electron.js releases
v11.0.0-beta.13 https://github.com/electron/electron/releases/tag/v11.0.0-beta.13 v11.0.0-beta.13
Илья
Коллеги помогите понять: упаковываю приложение через : npx electron-packager Далее, делаю изменения в коде и еще раз командой: npx electron-packager Перепаковываю app за секунду. Изменения в коде войдут туда или надо удалить или менять место для упаковки app? Wrote new app to true - Это типо подтверждение то му что обновилось или что оно вообще есть
Egor
как дебажить Worker скрипты в электроне?
Rustam
как дебажить Worker скрипты в электроне?
я бы сказал, а зачем тебе воркер когда есть main + система сообщений?
Rustam
если приложение закроют то и воркер прибьют
Rustam
а так попробуй в dev tools нажать Ctrl + Shift + P и ввести там что-то чтобы показало дебаг воркеров
Rustam
если большой - IndexedDB
Egor
я бы сказал, а зачем тебе воркер когда есть main + система сообщений?
ну очевидно чтобы main не загружать. от него UI зависнет
Rustam
ну очевидно чтобы main не загружать. от него UI зависнет
async и ничего не зависнет. Не очевидно, sync посылать не мудрое решение
Egor
а я смогу offscreen canvas послать через IPC?
Rustam
IPC это что?
Egor
ну система сообщений
Rustam
да
Rustam
canvas в формат ImageData переведёшь который на пиксель 4 байта и всё получится