hamper ?
28.06.2016
11:35:32
странно, вроде хоть что то должно выдавать судя по https://nodejs.org/docs/latest-v0.10.x/api/http.html#http_http_get_options_callback
может глюк самого домена... например сокет не закрыват
Нехис
26.07.2016
18:19:59
котаны уапрос
Допустим на страничке есть несколько сотен однотипных элементов.
И по ходу их генерации я каждым элементом подписываюсь на некое глобальное событие.
и по приходу события вся эта куча говна например триггерится и меняет своё состояние.
насколько сильно оно будет лагать например?
Google
hamper ?
26.07.2016
18:23:46
Много от чего зависит, от браузера, от того что конкретно за элемент и что за состояние он меняет (на сколько сложно браузеру будет пересчитать положение других элементов).
Нехис
26.07.2016
18:24:29
меняется, скажем класс элемента
они все остаются на месте.
hamper ?
26.07.2016
18:24:56
И не проще на всех их навесить общий класс и подписать все разом после генерации?
Нехис
26.07.2016
18:25:01
но цвета, там, фон, размер вот это всё.
hamper ?
26.07.2016
18:25:13
А класс меняет отображение элементов или просто логическая метка?
Надо пробовать...
Нехис
26.07.2016
18:25:23
не. они независимо могут меняться.
класс меняет отображение.
hamper ?
26.07.2016
18:25:57
А что за событие то?
Нехис
26.07.2016
18:26:17
это я к чему.
что быстрее перебрать каждый элемент в цикле и присвоить ему нужный класс или если оно само по эвенту обновится?
запрос - результат - отобразить.
Google
Нехис
26.07.2016
18:26:58
но отобразить в дохуя местах.
просто эвентом-то оно уйдет в условную параллельность, а если я циклами буду фигачить то оно же лочиться будет на момент пока цикл крутит.
наверное таки эвенты...
hamper ?
26.07.2016
18:28:49
На эвенте тоже параллельности вроде не будет, все обработчики в один tick попадут
Хотя тоже не уверен
Нехис
26.07.2016
18:29:36
ну callback'и же не строго последовательно будут идти.
там всё равно какая-то обработка может успеть вклиниться.. наверн..
а вот цикл хрен порвёшь..
ладн. завтра попробую.
hamper ?
26.07.2016
18:31:31
Вот не факт, все вызовы функций синхронны, на сколько я помню когда вешаешь много колбеков оно просто циклом их в порядке добавления перебирает внутри и вызывает
Вадим
26.07.2016
18:34:10
Мне кажется,что фреймворки так и работают. Тупо в цикле на каждый элемент вешают события
hamper ?
26.07.2016
18:38:36
Я бы написал асинхронный итератор и перебрал бы им массив по классам
var setElement = function(elems) {
if (elems.length === 0) return
var e = elems.shift()
// что то делаем с e
setImmediate(setElement, elems)
}
setElement(/*сюда массив элементов*/)
Sparrow
26.07.2016
18:44:30
блин, ну вы придумали... пришел аякс — делаешь выборку элементов и меняешь у них класс. зачем на каждый событие вешать?
hamper ?
26.07.2016
18:45:42
Ну вот я примерно то же и сделал бы, для того что бы не тормозить интерфейс как раз асинхронный цикл который я написал выше
Нехис
26.07.2016
19:03:02
Sparrow
26.07.2016
19:03:26
так везде и поменяется
Нехис
26.07.2016
19:04:03
И не думать потом.
Добавляется новый тип элементов со своим обработчиком и подписявается на уже существующее событие.
Sparrow
26.07.2016
19:06:46
сколько у тебя элементов то? сто пиццот?
чот мне кажется, что отдельный вызов на каждый сильно затратнее будет
учти, что у тебя браузер толком ничего не сможет делать, даже скроллить, пока всю эту толпу событий не отработает
Google
hamper ?
26.07.2016
19:15:01
Эвенты немного не для того придуманы, они придуманы когда ты пишешь свой компонент который может генерить события а другой модуль или разработчик захочет их обработать. Когда известны все элементы обрабатывающие события их проще перебрать циклом в одном обработчике
Анатолий
26.07.2016
20:00:34
У меня в таблице 600+ строк по событию меняются классы у каждой строки. Перерисовка почти мгновенная
Нехис
26.07.2016
20:02:06
Збсь
Ивенты да?
Анатолий
26.07.2016
20:03:05
Не могу сказать точно
Ангулярщики есть тут? Они скажут
hamper ?
26.07.2016
20:05:25
Sparrow
21.08.2016
01:03:57
https://medium.com/friendship-dot-js/i-peeked-into-my-node-modules-directory-and-you-wont-believe-what-happened-next-b89f63d21558#.qwp7wu7z3
если кто-то еще не
Нехис
02.09.2016
18:10:08
According to the UI Events specification un-trusted events (i.e. those created by JavaScript) should not invoke the default action. 'click' is the only event that is a legacy permitted case.
The isTrusted support was added in https://www.chromestatus.com/features/6461137440735232 which identifies trusted events from un-trusted events.
We wish to prevent synthetic events from executing the default action, aligning with Firefox and IE.
Да они охуели!
Анатолий
02.09.2016
20:12:05
то есть нельзя будет искусственно нажать клавишу?
Нехис
02.09.2016
20:35:20
Типтого !
Sparrow
07.09.2016
19:35:00
а монго кто-нибудь собирал из сорцов? сколько ему места для сборки надо?
Vadim
08.09.2016
07:48:09
Типтого !
Да нет же. Описано, что ты сможешь указать, что event trusted и использовать его как раньше.
Это, по сути, нужно для дополнительного уровня защиты. Будет чуть сложнее, но безопаснее.
Анатолий
09.09.2016
18:10:46
кто рюхает в ноде?
это норм что внутри модуля не видна функция объявленная перед его require?
модуль:
module.exports = {
test: function() {
blabla();
}
}
Google
Анатолий
09.09.2016
18:12:59
вызываю отсюда:
function blabla(){}
require('./myModule');
мои стереотипы порваны :)
функции надо глобализировать как-то?
Нехис
09.09.2016
19:21:21
Анатолий
09.09.2016
19:21:50
не... мне нужно объявить функцию, а потом поюзать её внутри подключаемых модулей
я так понял единственный способ - объявить её в модуле и подключить этот модуль в других модулях
Нехис
09.09.2016
19:22:18
Ну по идее не должно быть ее видно...
Была даже либа отдельная в npm для этого.
Но там шло как раз через обращение к экземпляру этого объекта...
hamper ?
09.09.2016
19:54:22
что бы было require('./myModule')(blabla); например
module.exports = function (fn) {
return {
test: function() {
fn();
}
}
}
Анатолий
09.09.2016
19:57:39
о, круто, спасибо
Vadim
21.09.2016
13:48:37
Народ, что-то туплю... Как получить список всех событий, которые срабатывают на странице?
Например, какие-то события генерирует ютуб плеер и дергает их, могу я получить список этих событий?
Роман
21.09.2016
13:54:50
Тебе нужен список слушателей?
Vadim
21.09.2016
13:56:55
список генераторов событий.
Короче, задача такая: Есть нонейм плеер, который при запуске вызывает событие, его я знаю. Я точно знаю, что есть такое же событие при паузе ролика
Google
Vadim
21.09.2016
13:57:38
мне надо его найти
документация к плееру потеряна с годами
другой плеер сейчас не вариант
Роман
21.09.2016
13:58:39
Ищи в коде вызов dispatchEvent, событие ты знаешь, ищи по имени. Плеер не флешовый?
Vadim
21.09.2016
13:59:02
плеер флешовый
Роман
21.09.2016
14:00:38
Флеш обернут javascript функцией, транслирующей события. Найди её и добавь туда console.log, увидишь, что передается при нажатии паузы.
Можно декомпилировать .swf-ку конечно и посмотреть имена событий.
Анатолий
21.09.2016
14:23:59
я так понимаю, какой бы ни был плеер, он должен соответствовать джаваскрипт-объекту, который и файрит событие, я прав?
если да, то можно как-то вытащить все хендлеры у объекта
а... стоп. туплю. надо не хендлеры отловить, а сами события
есть функция для консоли monitorEvents() но она только стандартные ивенты ловит
если используется jQuery, то всё упрощается: надо переопределить jQuery.event.trigger
Роман
21.09.2016
14:33:32
Скорее всего javascript событие генерируется javascript-обёрткой для плеера. Но тип события вероятно, все-же передается из флеша как строковая переменная. Значение этой переменной тебя и интересует?
Анатолий
07.10.2016
16:30:19
node.js windows
пытаюсь рестартовать скрипт, запущенный через node scriptname.js, с помощью самого этого скрипта. но чот не получается. пробовал кто?
остановился на том, что делаю child_process.spawn, а аргументами передаю cmd.exe и массив [c, node.bat]
где node.bat - файл, в котором запускается node scriptname.js
ужасный костыль, и всё равно не работает
при старте ноды она прибивает свой старый экземпляр - и в этот момент грохается всё - и новый, и старый