
Дмитрий
16.06.2017
15:22:00
вот это ты сейчас лихо код сократил, прям намного проще стало)

Кирилл
16.06.2017
15:22:01
там же 2 способа создания редьюсера. Есть через фабрику и он не понимает массив

Дмитрий
16.06.2017
15:22:02
(нет)

Adam
16.06.2017
15:22:19
Недавно задавал вопрос о сагах здесь и говорят, что я не по адресу обратился )

Google

Кирилл
16.06.2017
15:22:20
ну не пришлось бы выносить код обработчика

Stepan
16.06.2017
15:22:21
А два подряд евейта не лучше оборачивать в Promise.all?

andretshurotshka?❄️кде
16.06.2017
15:22:42
ну напиши хелпер какой-нибудь)

Дмитрий
16.06.2017
15:23:02

Pavel
16.06.2017
15:23:07

Adam
16.06.2017
15:23:15
Promise.all это не подряд

Stepan
16.06.2017
15:23:43
Оно ж параллельно запустит?

andretshurotshka?❄️кде
16.06.2017
15:24:03

Дмитрий
16.06.2017
15:24:16

Кирилл
16.06.2017
15:25:27
просто часто приходится ловить "любое конечное состояние (success/false)" и выполнять одинаковые манипуляции
типа загрузку убирать

Google

Сергей
16.06.2017
15:26:39

Pavel
16.06.2017
15:28:45

Дмитрий
16.06.2017
15:29:49
Каждый диспатч просто должен быть обоснован. В частности, если между диспатчами находится асинхронное действие
Повторюсь, если тебе нужно вызывать два экшна подряд, то это значит, что стейт проходит через неконсистентное состояние со всеми вытекающими

Pavel
16.06.2017
15:30:41
А если не находится?

Дмитрий
16.06.2017
15:36:23
Потому что если ты диспатчишь отдельно, то между экшнами твоё состояние не соответствует ни начальному, ни конечному. И хорошо, если приложение с этим справляется нормально
А то можно так и отрицательный баланс получить и много чего ещё, описываемое термином "неконсистентность")

Сергей
16.06.2017
15:37:37

Adam
16.06.2017
15:38:23
Народ, а касательно вопроса - Если есть thunk и await, то зачем саги? - На чем все таки остановились? Разве thunk и await покрывают все те же кейсы, что и саги?

Дмитрий
16.06.2017
15:38:36

Pavel
16.06.2017
15:38:45

Сергей
16.06.2017
15:38:56

George
16.06.2017
15:39:24
Async await работает на генераторах на самом деле. Это больше синтаксический сахар а не отдельный механизм

Pavel
16.06.2017
15:39:32

Дмитрий
16.06.2017
15:39:41

Adam
16.06.2017
15:39:43

Дмитрий
16.06.2017
15:40:40

Adam
16.06.2017
15:40:46

Дмитрий
16.06.2017
15:40:57
Саги:

Google

Pavel
16.06.2017
15:42:10
И зачем удалили вопрос?

Дмитрий
16.06.2017
15:42:11
Каждый раз раз как ты переводишь устоявшиеся термины, в мире плачет один котёнок

Сергей
16.06.2017
15:42:30

Дмитрий
16.06.2017
15:42:35
))

Adam
16.06.2017
15:43:00

Сергей
16.06.2017
15:43:17
@Oharr перепиши вопрос с нормальными терминами, пожалуйста

andretshurotshka?❄️кде
16.06.2017
15:43:24
генераторы нужны чтобы генерировать

Adam
16.06.2017
15:43:43
Я не на то сообщение ответил, но адресовал правильно

andretshurotshka?❄️кде
16.06.2017
15:44:01
и как pull collections наверно (@ZeroBias поправь если че)

Сергей
16.06.2017
15:44:22
мне понравилась идея асинхронных генераторов

Pavel
16.06.2017
15:44:23

Дмитрий
16.06.2017
15:44:32
На самом деле генераторы офигенны и я не понимаю, почему практически никто не использует их по назначению

Adam
16.06.2017
15:44:37
Польза имеется ввиду в связке с ридаксом

Дмитрий
16.06.2017
15:44:45
Это путь к созданию нормальных итерируемых структур

Сергей
16.06.2017
15:44:49

Adam
16.06.2017
15:47:09
Я ищу способ добиться всего того, что дают саги, но без генераторов. Вот, собственно, почему я так озабочен этими вопросами. Я уже давно сижу на простых мидлах типо фанков и от этой простоты тоже не хочется отказываться

Дмитрий
16.06.2017
15:47:24
здорово, правда?))

Сергей
16.06.2017
15:49:05
не совсем понял в чем польза

Дмитрий
16.06.2017
15:49:15
У тебя итерируемый объект

Google

Дмитрий
16.06.2017
15:49:23
Через for of например

Сергей
16.06.2017
15:49:40
это я понял
вопрос скорее в том, какой смысл head, tail?

Дмитрий
16.06.2017
15:49:46
Никакого

George
16.06.2017
15:49:46
Список в 3 строчки на js
Он спрашивает про преимущества

Дмитрий
16.06.2017
15:50:16
Только хотел написать, что отдельный приз "зануда 2017" первому кто скажет почему код не валиден

Andrey
16.06.2017
15:50:19

Admin
ERROR: S client not available

Adam
16.06.2017
15:50:26
ну с асинхронными генераторами ведь очевидно в чем польза ) а подобные примеры с мдн на самом деле наталкивают на мысли - мол нахера это

Дмитрий
16.06.2017
15:50:43
Самое интересное, что все наоборот

Сергей
16.06.2017
15:51:00

Дмитрий
16.06.2017
15:51:20
Вот как раз про них такое резонно задавать (нет, я знаю зачем они)

Сергей
16.06.2017
15:51:21

Дмитрий
16.06.2017
15:51:26
Блин
Аллё

George
16.06.2017
15:51:29

Дмитрий
16.06.2017
15:51:35
Вы не видите, что это вообще не список?

Adam
16.06.2017
15:51:38
не в обиду, конечно, насчет примеров с мдн, это я так, к слову

Дмитрий
16.06.2017
15:51:39
А рекурсивная структура

Сергей
16.06.2017
15:51:57
бля сбили с толку

Google

Дмитрий
16.06.2017
15:51:59
Произвольная

Сергей
16.06.2017
15:52:05
то есть тупо пример возможностей?

Дмитрий
16.06.2017
15:52:05
Которая итерируется через for of
Оторвитесь уже от букв)

George
16.06.2017
15:52:15
Ну типа райт лесс ду мор

Andrey
16.06.2017
15:52:33

Дмитрий
16.06.2017
15:52:42
Сто лет как
Этому синтаксису столько же времени сколько генераторам
Вот лучше бы методы-генераторы так форсили, чем эти ваши саги
Чесслово

Сергей
16.06.2017
15:54:00

Дмитрий
16.06.2017
15:54:06
Ох
Ясно

Сергей
16.06.2017
15:54:10
class Name {
*foo() {}
}
не?

Дмитрий
16.06.2017
15:54:26

Сергей
16.06.2017
15:54:54
ты имеешь ввиду в массах)

Дмитрий
16.06.2017
15:55:27
нет, серьезно ничем не отличается
Просто в жс декларировано, что вычисляемый метод с именем Symbol.iterator делает итерируемую структурую
Саму по себе