
Sheldhur
17.05.2017
13:30:48
но я тогда потрачу время на обращение к базе

Aleksey
17.05.2017
13:30:50
во первых промис до завершения не позволит остальному коду что то делать
в о вторых почитай
https://habrahabr.ru/company/mailru/blog/269465/

Sheldhur
17.05.2017
13:31:01
на таком количестве

Google

Aleksey
17.05.2017
13:31:09
плюс цепочки промисов
ты попробуй

Сергей
17.05.2017
13:31:22

Sheldhur
17.05.2017
13:31:25
уже было :)

Сергей
17.05.2017
13:31:32

Aleksey
17.05.2017
13:31:34
все плохо?

Sheldhur
17.05.2017
13:31:39
стек забивается

Сергей
17.05.2017
13:31:54
все плохо?
синхронные операции блокируют поток, и промисы вообще никакой погоды не сделают
только увеличат память
обход массива это как раз синхронная операция

Sheldhur
17.05.2017
13:33:20
промис даже на 100к все вешает

Aleksey
17.05.2017
13:33:38
я не настаиваю
но массив можно перебрать лодашевским фор.ичем
он с этим справляется
+ куча плющек на поиск и выбоку нужных элементов массива
плюс лодашевкая Math

Sheldhur
17.05.2017
13:34:04
нативное явно быстрее лодаша будет :)

Google

Сергей
17.05.2017
13:34:49

Sheldhur
17.05.2017
13:35:25
особенно, если не юзать всякие forEach, а старый добрый for

Aleksey
17.05.2017
13:36:03
не всегда
нативно forEach для перебора массива не используешь
к тому же var someVal = someArray.filter('someVAl'...)
не сможешь использовать

Sheldhur
17.05.2017
13:36:44
все эти forEach, map, reduce, filter это обертка над for'ом

Сергей
17.05.2017
13:36:46

Sheldhur
17.05.2017
13:36:53
быстрее это всё в одном цикле сделать

Сергей
17.05.2017
13:37:02

Sheldhur
17.05.2017
13:37:09
ну ок

Ilshat
17.05.2017
13:47:51
Как вариант можно чистить память для всех элементов внутри цикла, те
For(i=0;i<len;i++){ let v=...; v=null;}
Может памяти будет меньше жрать

Sergey
17.05.2017
14:28:35
нативное явно быстрее лодаша будет :)
если просто перебирать каждый i'ный элемент, то да. А если нужны какие-то сложные операции с масивом, то лодаш лучше справиться, там внутри работают алгоритмы, которые могут решают задачу, даже не перебрав весь массив

Sheldhur
17.05.2017
14:30:18
sequelize можно заставить запихать Station в отдельный объект?
чтобы можно было обращаться item.Station.id

Ilshat
17.05.2017
15:00:32
Все поля по по которым будут сравнения вынеси в поля таблицы, раскидывай их

Sheldhur
17.05.2017
15:01:03
шта

Ilshat
17.05.2017
15:01:06
Птом повесь индекс на поля которые с помощь === будут сравниватся http://docs.sequelizejs.com/manual/tutorial/models-definition.html#indexes
Вынеси в отдельное поле
чтобы можно было обращаться item.Station.id
При заполнении раскидай все такие которые во вложенной структуе

Google

Sheldhur
17.05.2017
15:05:16
чёт ниче не понял, как мне индексы помогут в этом

Ilshat
17.05.2017
15:07:41
Ну ты в каком месте хочешь до вложенного объекта стучаться?
Если в условии для фильтрации то индекс должен помощь, если для рендора то не сильно поможет

Sheldhur
17.05.2017
15:09:54
это индекс для базы
причем он тут
во всех челочеческих ORM все связи пихаются в отдельные объекты, должно быть:
{
Station: {
id: 1,
name: ...
...
}
compF: ...
...
}
а не то что sequelize сделал

Ilshat
17.05.2017
15:12:44
Ну я про оптимизацию говорю

Sheldhur
17.05.2017
15:13:02
ставить индексы я умею, спасибо :)
я спрашиваю как в результате выборки сделать, чтобы Station, который джойнится был в отдельном объекте, чтобы в цикле потом обращаться item.Station.id, а не item['Station.id']

Ilshat
17.05.2017
15:15:18
Ну где юзается переменная?
Условие или рендер

Sheldhur
17.05.2017
15:15:39
причем тут цикл
.findAll(...).then((results) => {
console.log(results[0]['Station.id'])
})
.findAll(...).then((results) => {
console.log(results[0].Station.id)
})

Ilshat
17.05.2017
15:22:09
Запрос дай сиквел который он генерит
Надо чтобы он был один

Sheldhur
17.05.2017
15:22:23
запрос нормальный :)
один :)
обычный INNER JOIN

Ilshat
17.05.2017
15:23:36
На всех полях индексы есть которые =

Google

Ilshat
17.05.2017
15:23:41
?
В запросе

Sheldhur
17.05.2017
15:24:02
причем тут индекс

Ilshat
17.05.2017
15:24:31
Ну я опять за оптимизацию

Sheldhur
17.05.2017
15:24:53
всё нормально с оптимизацией, не переживай :)

Ilshat
17.05.2017
15:25:33
А чем тебе не угодило обращение в квадратных скобках?

Sheldhur
17.05.2017
15:25:35
после проектирования базы на 200 таблиц с индексами я уж как нибудь справлюсь :)
ну неудобно, очевидно
со строками работать

Ilshat
17.05.2017
15:30:01
А рав труе? Замедляет да?

Sheldhur
17.05.2017
15:30:21
никакой разницы не заметил

Nikita
17.05.2017
18:29:04
А кто кастомные протоколы делал, как заставить винду закрывать предыдущий апп?

Sheldhur
17.05.2017
18:38:29
если именно апп
то записывать куда нибудь PID процессов приложения, потом килять их
но килять придется через wmi, а в js он чет соу слоу
с дочерними процессами попроще
непонятно только нахрена? :)

Nikita
17.05.2017
19:50:05
ну потому что переход через custom-scheme://link в винде все время создает новый процесс, из которого надо либо послать сигнал в старый (как?) или убить старый и запустить новый (как?)

Ilshat
17.05.2017
19:51:39
мини прогу напиши которая будет уже запускать или активировать ранее созданную
эта мини и будет слушать урл

Google

Sheldhur
17.05.2017
19:53:51
ipc
посылаешь, слушаешь, делаешь app.quit() где надо

Nikita
17.05.2017
20:11:18
Да нет. Это отдельный процесс, запускаемый извне

Sheldhur
17.05.2017
20:13:53
в диспетчере

Nikita
17.05.2017
20:14:27
Издеваешься? Говорю же, отдельный. Запускаемый извне

Sheldhur
17.05.2017
20:15:35
ну, кроме как искать их через wmi и килять я ниче придумать не могу

Nikita
17.05.2017
20:15:55
Ну можно пил ещё писать в файлик
Но в этом чате это никто не решал, ок, я понял)

Sheldhur
17.05.2017
20:16:16
не, так не запишешь
если он не электроном запускается

Ilshat
17.05.2017
20:16:41
я на десктопе такое решал)

Sheldhur
17.05.2017
20:16:53

Nikita
17.05.2017
20:17:07
Да, переход по кастомной ссылке

Sheldhur
17.05.2017
20:17:26
ну да, только через wmi
и права придется запрашивать

Nikita
17.05.2017
20:18:01
setAsDefaultProtocolClient
Я могу вообще сказать как этот процесс дергать

Sheldhur
17.05.2017
20:19:43
а не проще при установке приложения зарегать протокол?