Size: a a a

2020 September 17

V

Vasili in ☄️ effector
мне буквально на днях попалась на глаза эта библиотека, и вызвала интерес... сижу разбираюсь...
источник

ф

фильтруй мысли... in ☄️ effector
Vasili
мне буквально на днях попалась на глаза эта библиотека, и вызвала интерес... сижу разбираюсь...
пиши сюда спокойно, если что-то покажется непонятным
источник

V

Vasili in ☄️ effector
нету ли где-либо готового примера, который делает что-то типа асинхронный эффект, где можно помотреть на его состояние (в процессе или окончен) и на конечный результат?
источник

V

Vasili in ☄️ effector
я, в принципе, нормально понимаю redux и последнее время плотно работал на rxjs/ngrx
источник

V

Vasili in ☄️ effector
Vasili
нету ли где-либо готового примера, который делает что-то типа асинхронный эффект, где можно помотреть на его состояние (в процессе или окончен) и на конечный результат?
но это все не разрозненные вещи, которые триггерятся раздельно, а наоборот, завязаны через обычные механизмы эффектора...
источник

V

Vasili in ☄️ effector
у меня UI в трех состояниях - проверка идет, прошла и не прошла...
источник

ф

фильтруй мысли... in ☄️ effector
Vasili
нету ли где-либо готового примера, который делает что-то типа асинхронный эффект, где можно помотреть на его состояние (в процессе или окончен) и на конечный результат?
есть, полно примеров всяких

для начала, эффект - это просто набор ивентов и стор с состоянием:

effect - тут висит событие запуска эффекта
effect.done - тут успешное завершение с параметрами и данными
effect.doneData - тут успешное завершение с данными
effect .fail - неуспешное завершение
effect.failFata - приходит только ошибка
effect.finally - отдельный ивент завершения эффекта
effect.pending - стор с true/false, выполняется ли эффект в данный момент
источник

V

Vasili in ☄️ effector
ага.. effect.pending это уже ближе
источник

ф

фильтруй мысли... in ☄️ effector
Vasili
нету ли где-либо готового примера, который делает что-то типа асинхронный эффект, где можно помотреть на его состояние (в процессе или окончен) и на конечный результат?
вот постой примерчик с пояснениями:
https://share.effector.dev/IoMauCzt
источник

V

Vasili in ☄️ effector
Вопрос, зачем строки 17-25 если можно сделать getPostsByIdFx(event) напрямую?
источник

ф

фильтруй мысли... in ☄️ effector
Vasili
Вопрос, зачем строки 17-25 если можно сделать getPostsByIdFx(event) напрямую?
видимо для того, чтобы вьюшка не знала про эффект вообще... в принципе, делать так нет особой необходимости, ты прав
источник

V

Vasili in ☄️ effector
тоже логично...
источник

V

Vasili in ☄️ effector
ок, теперь попробую это все к контексте Svelte запилить
источник

ф

фильтруй мысли... in ☄️ effector
Vasili
ок, теперь попробую это все к контексте Svelte запилить
на svelte тоже пример есть где-то, в доке есть раздел с примерами
источник

V

Vasili in ☄️ effector
хм, не работает синтаксис $fx.pending
источник

V

Vasili in ☄️ effector
нужно выносить в отдельную переменную..
источник

NF

Nikita Fedorov in ☄️ effector
Ilya Sevostyanov
ну вообщем, на правах "обратной связи" - как человек "не в теме" - пошел читать доку сверху-вниз (как принято) и тут уже немного "поплыл" на этом месте
голос в голове :)
так... Event - это, как гласит описание "намерение изменить состояние"
ага, так, тут фрагмент кода идет, смотрим...
ага вот const event = createEvent()
так...
и
дальше небольшое затруднение
потому что в этом фрагменте он (event) никак не используется
ну и как в этом фрагменте отражено это "намерение изменить состояние"

я вот об этом
Event это намерение изменить состояние как написано в документации. Это было бы более очевидно в примере со стором. В примере onMessage противоречит определению.

Намерением было бы addPayment привязанное к Store или в этом примере logMessageData(с натяжкой, подразумевая что мы меняем состояние консоли), но это очевидно не корректно, из-за того что эвенты не обязаны привязываться к обработчику при определении.
Формулировки они такие, лучше смотреть больше примеров кода =)
источник

NF

Nikita Fedorov in ☄️ effector
в секции со стором как раз есть такие примеры
источник

DS

Dmitriy Shuleshov in ☄️ effector
Vasili
Вопрос, зачем строки 17-25 если можно сделать getPostsByIdFx(event) напрямую?
Это просто для примера, как можно организовывать и декларативно описывать связи юнитов.
источник

DS

Dmitriy Shuleshov in ☄️ effector
Nikita Fedorov
Event это намерение изменить состояние как написано в документации. Это было бы более очевидно в примере со стором. В примере onMessage противоречит определению.

Намерением было бы addPayment привязанное к Store или в этом примере logMessageData(с натяжкой, подразумевая что мы меняем состояние консоли), но это очевидно не корректно, из-за того что эвенты не обязаны привязываться к обработчику при определении.
Формулировки они такие, лучше смотреть больше примеров кода =)
Кстати я бы не сказал что ивент это в 100% случаев - намерение изменить состоянием
источник