Size: a a a

2020 March 20

l

la gente está muy loca in ☄️ effector
источник

VI

Vadim Ivanov in ☄️ effector
lllla
или сделать так, чтобы этот createLoader обращался к какой-то сторе)
Ты комбайнишь все pending и если хоть один true, то будет показан лоадер
источник

l

la gente está muy loca in ☄️ effector
во, да
источник

l

lllla in ☄️ effector
да, но где это место должно быть? Где будут собираться эти pending?
источник

l

lllla in ☄️ effector
например, есть файл loading.ts, в нем лежит функция, которая собирает эти pending
источник

VI

Vadim Ivanov in ☄️ effector
lllla
да, но где это место должно быть? Где будут собираться эти pending?
В одном месте, где создается стор от createLoader
источник

l

la gente está muy loca in ☄️ effector
я уже пожалел, что показал это в виде функции
источник

l

la gente está muy loca in ☄️ effector
забудь про функцию, прошу
источник

l

lllla in ☄️ effector
я забыл
источник

VI

Vadim Ivanov in ☄️ effector
Вообще, можно в интерсепторе аксиоса того же перед запросом вызывать эвент start и после - finish.  И не прокидывать кучу эффектов в фабрику.
Конечно еще стор pending завести под это)
источник

l

la gente está muy loca in ☄️ effector
const loader = combine(
 [fxA.pending, fxB.pending, fxC.pending],
 pendings => pendings.some(Boolean)
)
источник

l

la gente está muy loca in ☄️ effector
и то, где ты будешь располагать этот стор зависит от архитектуры проекта
источник

l

la gente está muy loca in ☄️ effector
lllla
например, есть файл loading.ts, в нем лежит функция, которая собирает эти pending
источник

l

la gente está muy loca in ☄️ effector
Vadim Ivanov
Вообще, можно в интерсепторе аксиоса того же перед запросом вызывать эвент start и после - finish.  И не прокидывать кучу эффектов в фабрику.
Конечно еще стор pending завести под это)
в итоге получится имплементация эффектов)
источник

VI

Vadim Ivanov in ☄️ effector
la gente está muy loca
в итоге получится имплементация эффектов)
Только в этом случае не нужно руками все пэндинги собирать)
источник

l

la gente está muy loca in ☄️ effector
Vadim Ivanov
Только в этом случае не нужно руками все пэндинги собирать)
взамен, вручную начинает собираться результат выполнения эффекта. на первый взгляд это 1:1
источник

VI

Vadim Ivanov in ☄️ effector
la gente está muy loca
взамен, вручную начинает собираться результат выполнения эффекта. на первый взгляд это 1:1
Результат - стор pending?
источник

l

la gente está muy loca in ☄️ effector
Vadim Ivanov
Результат - стор pending?
вызов finish
источник

l

la gente está muy loca in ☄️ effector
учитывая, что имплементация «в лоб» будет с багом (первый же завершённый эффект переведёт loading в false, даже если параллельные ещё активны), придётся точно считать число in flight реквестов
источник

l

la gente está muy loca in ☄️ effector
и — сюрприз — именно этим и занимается имплементация эффектов)

https://github.com/zerobias/effector/blob/master/src/effector/createEffect.js#L132
источник