30.11.2014, 18:07
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
kobezzza, совсем по теме темы , но вопрос про генераторы это посути не совсем потоки, а что то типо sleep на сколько я понял, в чем их преймущество?
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
30.11.2014, 18:10
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Сообщение от cyber
|
kobezzza, совсем по теме темы , но вопрос про генераторы это посути не совсем потоки, а что то типо sleep на сколько я понял, в чем их преймущество?
|
Настоящие потоки - это тоже по сути sleep
Если сравнивать с WebWorker, то: https://github.com/kobezzza/Collecti...1%81-webworker
Ну и сама статья раскрывает суть: https://github.com/kobezzza/Collecti...%B2-Collection
Пример из жизни: у меня в проекте каждый UI элемент - это виджет, который живет своей жизнью: он принимает асинхронные сообщения, что-то считает и т.д. таких виджетов в среднем на странице 80-100 и часто возникает ситуация, когда "одновременно" сваливается куча асинхронных обработчиков и из-за этого фризится окно. Если разводить потоки вручную, т.е. делать специальный стек исполнения и т.д., то это требует дополнительных заморочек при написании самих виджетов и вообще геморой (я так раньше делал), а с появлением таких легких потоков - я просто отдаю это на откуп Collection и пишу код как обычно, но при этом фризы исчезли полностью и все просто летает.
Последний раз редактировалось kobezzza, 30.11.2014 в 18:17.
|
|
30.11.2014, 18:11
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
Ох не фига себе, спасибо )
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
30.11.2014, 18:13
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
kobezzza, А ты не думал написать большую статью о collection на хабре, о том как все внутри работает? Знаю ты много писал тут на форуме, но все как то разбросанно по темам
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
30.11.2014, 18:20
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Сообщение от cyber
|
kobezzza, А ты не думал написать большую статью о collection на хабре, о том как все внутри работает? Знаю ты много писал тут на форуме, но все как то разбросанно по темам
|
Думал, даже потихоньку делаю, но написании статьи сложная штука: либо пиши на фултайме (а для меня - это роскошь), либо потихоньку после работы, когда есть силы и желание, но это медленный процесс
|
|
30.11.2014, 19:52
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
kobezzza, круто
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
03.12.2014, 21:50
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
kobezzza, а выполнение в webworker не планируешь добавить?
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
03.12.2014, 22:00
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Сообщение от cyber
|
kobezzza, а выполнение в webworker не планируешь добавить?
|
Пока не планировал.
|
|
14.12.2014, 18:33
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Выпустил обновление: 5.4.14
|
|
17.12.2014, 01:43
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
kobezzza, у меня твой collection выдает странную фигню при запуске на фантоме, при переборее коллекции .
этот цикл обернут другим циклом который перебирает коллекцию tr, tr 2 элемента поэтому 0 и 1.
но вот откуда 2 length ?
$C(tr.children).forEach( function ( elem, i ) {
console.log( elem, i );
} );
если перебирать так, то все хорошо.
[].forEach.call( tr.children, function ( elem ) {
console.log ( elem );
} );
Вывод:
Цитата:
|
CONSOLE: [object HTMLTableCellElement] 0
CONSOLE: [object HTMLTableCellElement] 1
CONSOLE: 2 length
CONSOLE: [object HTMLTableCellElement] 0
CONSOLE: [object HTMLTableCellElement] 1
CONSOLE: 2 length
CONSOLE: [object HTMLTableCellElement] 0
CONSOLE: [object HTMLTableCellElement] 1
CONSOLE: 2 length
CONSOLE: [object HTMLTableCellElement] 0
CONSOLE: [object HTMLTableCellElement] 1
CONSOLE: 2 length
CONSOLE: [object HTMLTableCellElement] 0
CONSOLE: [object HTMLTableCellElement] 1
CONSOLE: 2 length
CONSOLE: [object HTMLTableCellElement] 0
CONSOLE: [object HTMLTableCellElement] 1
CONSOLE: 2 length
CONSOLE: [object HTMLTableCellElement] 0
CONSOLE: [object HTMLTableCellElement] 1
CONSOLE: 2 length
CONSOLE: [object HTMLTableCellElement] 0
CONSOLE: [object HTMLTableCellElement] 1
CONSOLE: 2 length
CONSOLE: [object HTMLTableCellElement] 0
CONSOLE: [object HTMLTableCellElement] 1
CONSOLE: 2 length
CONSOLE: [object HTMLTableCellElement] 0
CONSOLE: [object HTMLTableCellElement] 1
CONSOLE: 2 length
CONSOLE: [object HTMLTableCellElement] 0
CONSOLE: [object HTMLTableCellElement] 1
CONSOLE: 2 length
CONSOLE: [object HTMLTableCellElement] 0
CONSOLE: [object HTMLTableCellElement] 1
CONSOLE: 2 length
CONSOLE: [object HTMLTableCellElement] 0
CONSOLE: [object HTMLTableCellElement] 1
CONSOLE: 2 length
CONSOLE: [object HTMLTableCellElement] 0
CONSOLE: [object HTMLTableCellElement] 1
CONSOLE: 2 length
|
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
|
|