Pavel
Да
Vadim
Да
Понял, принял.
Pavel
вообще по идее, что может в интероп с си либами, то в принципе может работать с апи винды
Nikita
Парни, кто-то может подсказать хороший инструмент для аналитики электрон-приложения? А-ля гугл\яндкес-аналитика с поддержкой оффлайн режима?
Pavel
Не думаю что такие есть инструменты, потому что это очень не безопасно
Anton
Universal analytics
Anton
По-моему так
Pavel
а в чем потенциальная уязвимость?
Данные, я бы даже сказал, больше чем спокойно можно подменить, хотя, все зависит ещё от сервера
Nikita
Universal analytics
ага, его смотрели
Nikita
Universal analytics
https://github.com/googleapis/google-api-nodejs-client есть официальный клиент
倫太郎
🤔
倫太郎
а, ну да
Anton
Есть покруче mixpanel. Но она не безплатная
Electron.js releases
v8.0.0-nightly.20191010 https://github.com/electron/electron/releases/tag/v8.0.0-nightly.20191010 v8.0.0-nightly.20191010
adikalon
нужна функция sleep() в джаваскрипте. Т.е. сделать паузу в выполнении скрипта и продолжить дальше. Нашел такой код: function pause(milliseconds) { var dt = new Date(); while ((new Date()) - dt <= milliseconds) {} } Все бы хорошо, но когда я использую эту паузу в мэин процессе почему-то замирает весь рендерер процесс, я не могу нажимать на кнопки и т.д. Как решить проблему?
adikalon
setTimeout чем не подошёл?
он асинхронный и мне надо не пихать внутрь функции постоянно код. Надо внутри кода просто иногда вставлять паузу
adikalon
в любом случае я не пойму почему замирает рендерер?
Nicholas
Разве рендер не подчасть?
Nicholas
Async Await?
adikalon
Тогда замрёт синхронно все приложение
Почему тогда приложение не замирает когда я через for запускаю обход массива? Он просто его перебирает, пока я по другим страницам клацаю
adikalon
а кстати зависает да
adikalon
Я не знаю как этим пользоваться. Я с ЖС недавно работаю
Nicholas
Просто таймер там подожди если нужно ждать
Nicholas
Я не знаю как этим пользоваться. Я с ЖС недавно работаю
Просто если в async функции перед таймером поставишь await не пойдет пока не решит
Nicholas
Ну пока не развернет callback
Nicholas
Заглугли
adikalon
А ок. Разберусь. Меня теперь другой вопрос волнует после тог окак понял, что зависает все приложение
Nicholas
Но таймер должен быть промисом
Nicholas
Промисы тоже ещё не трогал ?
adikalon
нет еще
adikalon
так я вроде асинхронно посылаю комманду в меин процесс
adikalon
ipcRenderer.send(.....)
adikalon
а в main ловлю: ipcMain.on()
Nicholas
ipcRenderer.send(.....)
Ты просто посылаешь эвент
adikalon
Ты просто посылаешь эвент
в колбеке который выполняется по событию этого евента код всеравно должен усыплять всю работу?
adikalon
Он не в отдельном потоке, асинхронность не многопоточность
проблема в том, что мне в этом же чате советовали делать так. фак
Исмаил
Он не в отдельном потоке, асинхронность не многопоточность
Ну, как, окружение ноды можно считать за второй поток, который результат прокинет в главный
adikalon
Хорошо вернемся к теме потоков
adikalon
как мне запустить скрипт в отдельном потоке?
Исмаил
Ну вопрос то не в том :)
Тогда прошу прощения) не вчитывался, вмешался)
Nicholas
Тогда прошу прощения) не вчитывался, вмешался)
У человека траблы с тем что когда он синхронно что-то делает зависает все приложение
Nicholas
И в рэндере и в мэине
Nicholas
Предложил async await вместо
Исмаил
Предложил async await вместо
Да, хорошее предложение
adikalon
Не суть важно уже. Раз код всеравно не дает работать всему остальному
adikalon
Как отдельный поток запустить? worker_threads в електроне не работает я так понял
Nicholas
Т.к будет ассинхронно
Nicholas
Мне нужен смайл Трололо)
Исмаил
Как отдельный поток запустить? worker_threads в електроне не работает я так понял
Есть джаваскрипт движок и есть окружение, поток всегда один, просто джаваскрипт движок может говорить окружению сделать определенные операции
Исмаил
К примеру промисы выполняются окружением
adikalon
Говорю же какая разница как будет работать слип если остальной код написан неправильно
Nicholas
Много переписывать не придется
adikalon
Много переписывать не придется
Я всетаки хочу переписать правильно. У меня там много обращений к базе например и я не хочу чтобы во время запроса приложение замирало
Nicholas
Или там sqlite?
Исмаил
А worker_threads почему не работает?
Я не знаю что это, и вам оно не нужно думаю
Исмаил
Ок
Nicholas
Ладно и я тоже завернусь
Nicholas
sqlite
Совет почитай про ассинхронность
Nicholas
Если поймёшь концепцию будет проще
adikalon
Если поймёшь концепцию будет проще
да логика итак понятна. Ловишь событие - принимаешь решение