@frp_ru

Страница 17 из 420
Alex
25.09.2016
12:30:45
если с DOM то можно использовать готовые какие-то левые компоненты, например react

Vadim
25.09.2016
12:31:32
И значит пересчета только лишь одного компонента не получится

Google
Alex
25.09.2016
12:32:27
вот например extension для vscode на cycle

https://github.com/whitecolor/vscode-taskmate/blob/08ceed490bb57ed5c1b101ca978555a596312fb8/src/extension.ts

Filipp
25.09.2016
12:32:43
То есть если поддерево представляет собой тот же объект, что и раньше, оно пропускается

Vadim
25.09.2016
12:34:29
То есть если поддерево представляет собой тот же объект, что и раньше, оно пропускается
Прикольно! Интересно, а как это по бездействию в сравнении с connect от react-redux?

Alex
25.09.2016
12:36:19
Оно и не анализируется, в snabbdom есть проверка на равенство
хотя, там есть еще место для оптимизации

и лучше сразу готовиться писать на TypeScript если собираетесь использовать cycle

т.к. без типов долго не попишешь, более или мене сложнее что-то

Filipp
25.09.2016
13:37:46
Alex
25.09.2016
15:27:44
Или если combineLatest
ну если combineLatest сработал, а итоговое значение не отлично от предыдущего (бывает еже) уйдет в sink, тут уже будет зависить как быстро snabbdom брабатывать будет

Filipp
25.09.2016
15:34:21
Оно полностью совпадает с предыдущим, когда обновление произошло в другом поддереве

Если у тебя C = A.combineLatest(B)

То когда B эмитит, значение из A не меняется

Google
Filipp
25.09.2016
15:36:38
Снебдом видит это и не трогает поддерево A

Alex
25.09.2016
15:38:11
может быть что при combine(A, B) -> C изменениях в A или B, C не будет меняться)

т.е. он де-факт не должен будет менять DOM, но в sink уйдет, не частая ситуация

Filipp
25.09.2016
16:34:53
Это не тот случай, о котором был вопрос

Алексей
25.09.2016
21:22:04
https://github.com/caiogondim/pipeline.js

Дмитрий
26.09.2016
00:53:21
https://github.com/caiogondim/pipeline.js
Нет передачи в виде списка-массива = не нужен

мне для такого пришлось писать свою обертку-пайплайн над ramda

унииверсальную, чтоб и так и так можно было передавать, в зависимости от ситуации

Gregory
26.09.2016
16:02:44
Привет всем. Прошу минуту вашего внимания. Я хочу выступить на ReactiveConf и для этого мне нужно войти в тройку по количеству старов: https://gist.github.com/A-gambit/1ded6bf07cf4a497fc6eeb3e082ac612 Конкуренция очень велика и каждый стар имеет значение. Буду благодарен, если вы поможете мне в этом. Спасибо за внимание!

Denis
26.09.2016
16:02:57
Друзья, давай поддержим Григория! У него 196 звёзд, а у его конкурентов 197 и 195. Каждый голос важен!

Дмитрий
26.09.2016
16:31:38
(...[a, b, c])?
Вся фишка в том, что это не известно заранее У тебя просто прилетает в пайп значение, если это массив, то делаешь rest, если нет, то отправляешь в пайп

Возможно у меня просто какой-то узкий кейс, но так удобней составлять алгоритм на лету, просто собирая нужный массив

В sanctuary pipe например с массивом работает

Vasiliy
05.10.2016
10:50:46
кто использует rxjs5, помогите плз разобраться с оператором bufferToggle

хоть убей не понимаю как работает

сейчас опишу задачу:

есть tracks$: Observable объектов, у которых есть .size, мне нужно накапливать их, пока совокупный размер буфера не достигнет размера N

Alex
05.10.2016
10:52:31
собирает элементы между событиями двух потоков

нарисовано ве

Google
Vasiliy
05.10.2016
10:53:01
да это я понимаю

openings, closings

я понял, это-то не сложно

ок, на реальном примере: let total = 0; const buffered$ = tracks$.bufferToggle(tracks$, track => { total += track.size; if (total > BUFFER_SIZE_BYTES) { total = 0; return // what? } return // what? });

Alex
05.10.2016
10:53:39
bufferCount

Vasiliy
05.10.2016
10:54:01
мне нужен не count, а total size + можно ли тут обойтись без переменной total?

Alex
05.10.2016
10:54:34
bufferWhen

Vasiliy
05.10.2016
10:54:56
а там ф-ция без аргументов, в bufferWhen, не оч понятно как условие задать если мне track не приходит

Alex
05.10.2016
10:55:50
вообще window скорее тебе надо

Vasiliy
05.10.2016
10:55:55
оо

я забыл про window вообще

Alex
05.10.2016
10:56:01
если я правильно понял задачу

Vasiliy
05.10.2016
10:56:09
да, сек, посмотрю, спасибо

Alex
05.10.2016
10:56:47
но там не буфер а поток получается

или вообще обычный buffer нужно

в closingNotifier делаешь reduce(size)

Vasiliy
05.10.2016
11:03:18
tracks$.reduce((total, track) => total + track.size, 0) мне нужно получить Observable, который будет эмитить, когда totalSize превысит MAX_BUFFER_SIZE, он и будет переключателем для .buffer, такая идея? я новичок, если что в rxjs (%

Alex
05.10.2016
11:04:22
можно как-то так сделать, а можно вообще просто с reduce

возращаешь из reduce {buffer, size}

когда буфер переваливает возвращаешь в size 0

Google
Alex
05.10.2016
11:06:31
пропускаешь накопленный только если size 0

Vasiliy
05.10.2016
11:06:44
супер, рабоатет

Alex
05.10.2016
11:06:48
и если педыдущее значение содержит size 0 начинаешь собирает новый буфер

по разному можно сделать

Vasiliy
05.10.2016
11:07:07
спасибо) я сделал как выше написал

Alex
05.10.2016
11:07:50
?

Vasiliy
05.10.2016
17:23:30
мб боян, но пока бесплатно https://egghead.io/courses/rxjs-subjects-and-multicasting-operators сам только собираюсь сейчас посмотреть

Ҫѐҏӗѫӑ
05.10.2016
18:01:03
вроде ночью только выкатили. Андре недавно писал

Vasiliy
07.10.2016
09:11:39
посмотрел его, хороший, для начинающих как я – норм хотя многое быстро забывается, тк не используешь каждый день – слишком много всего в rxjs, даже с учетом выпиленного

Ҫѐҏӗѫӑ
07.10.2016
11:19:34
факт

Darwin
09.10.2016
09:38:00
https://m.youtube.com/watch?v=R2FtMbb-nLs

Vadim
10.10.2016
17:14:46
Люди, не напомните оператор, который принимает несколько потоков, и срабатывает только если все они завершились?

Короче нужно прописать обработчик, который срабатывает когда завершились два ajax-запроса

andretshurotshka?❄️кде
10.10.2016
17:16:12
combineLatest ?

Filipp
10.10.2016
17:17:24
Похоже на то

Ну или Promise.all =)

Vadim
10.10.2016
17:20:55
combineLatest ?
Спасибо огромное! Да, подходит! )

Vasiliy
14.10.2016
12:33:26
начал раскуривать rxjs и много чего не понял внутри

например, что значит PartialObserver с таким странным определением: export type PartialObserver<T> = NextObserver<T> | ErrorObserver<T> | CompletionObserver<T>; где все эти 3 типа одинаковые ?

или

Google
Vasiliy
14.10.2016
12:34:58
это в Subscriber.ts: [$$rxSubscriber]() { return this; } потом используется вот так в toSubscriber: if (nextOrObserver[$$rxSubscriber]) { return nextOrObserver[$$rxSubscriber](); } с виду кажется бесмысслицей

пойду в гиттер поспрашиваю к ним зачем это все)

Vadim
14.10.2016
12:39:10
А зачем вам погружаться во внутренности, которые имеют тенденцию меняться? Почему вам не достаточно просто знать API?

Вы хотите написать свой rxjs? Или просто таким образом осваиваете javascript?

Страница 17 из 420