Size: a a a

2020 November 29

NE

Nikita Epshteyn in ☄️ effector
Допустим я создал стор-хешмап сторов, в каждом саб сторе у меня какая-то сущность, хранящая данные о совем состоянии (состоянии асинхронного выполнения, например). А при создании нового сабстора, я хочу вешать на него guard, например. Но при этом я могу и удалять эти сабсторы. Вот интересно, в момент удаления их хешмапа стор со своими зависимостями пропадет или останется в дереве эффектора?
источник

AO

Aleksandr Osipov in ☄️ effector
Nikita Epshteyn
Я подумал, раз я могу в рантайме генерировать сторы, вешать на них всякое, то как мне обезопасить себя от утечки памяти?
не генерировать в рантайме
источник

AO

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

NE

Nikita Epshteyn in ☄️ effector
понятно, спасибо)
источник

AO

Aleksandr Osipov in ☄️ effector
Nikita Epshteyn
Допустим я создал стор-хешмап сторов, в каждом саб сторе у меня какая-то сущность, хранящая данные о совем состоянии (состоянии асинхронного выполнения, например). А при создании нового сабстора, я хочу вешать на него guard, например. Но при этом я могу и удалять эти сабсторы. Вот интересно, в момент удаления их хешмапа стор со своими зависимостями пропадет или останется в дереве эффектора?
а что за задача, конкретнее
источник

AO

Aleksandr Osipov in ☄️ effector
уверен что там нет необходимости создавать что-то в рантайме
источник

AO

Aleksandr Osipov in ☄️ effector
Nikita Epshteyn
Допустим я создал стор-хешмап сторов, в каждом саб сторе у меня какая-то сущность, хранящая данные о совем состоянии (состоянии асинхронного выполнения, например). А при создании нового сабстора, я хочу вешать на него guard, например. Но при этом я могу и удалять эти сабсторы. Вот интересно, в момент удаления их хешмапа стор со своими зависимостями пропадет или останется в дереве эффектора?
вообще ответ на вопрос - нет не пропадет, нужно ручками вызвать clearNode, но, опять же, но, это в 99.9% не то что вам нужно в данной задаче
источник

DS

Dmitriy Shuleshov in ☄️ effector
Aleksandr Osipov
вообще ответ на вопрос - нет не пропадет, нужно ручками вызвать clearNode, но, опять же, но, это в 99.9% не то что вам нужно в данной задаче
Если удаляются все юниты связанные между собой и не имеющие внешних связей, то не нужно
источник

DS

Dmitriy Shuleshov in ☄️ effector
https://t.me/effector_ru/172903
И вверх по треду
источник

AO

Aleksandr Osipov in ☄️ effector
Dmitriy Shuleshov
Если удаляются все юниты связанные между собой и не имеющие внешних связей, то не нужно
обычно все же какие-то связи с внешим миром могут быть
источник

AO

Aleksandr Osipov in ☄️ effector
короче зависит от кейса
источник

DS

Dmitriy Shuleshov in ☄️ effector
Aleksandr Osipov
обычно все же какие-то связи с внешим миром могут быть
Согласен, я просто уточняю поведение
источник

NE

Nikita Epshteyn in ☄️ effector
Aleksandr Osipov
а что за задача, конкретнее
была мысль кешировать апи запросы к сущностям по id, с expiration, в Map. Эти сущности могут быть удалены, поэтому они также из Map удаляются.
источник

AO

Aleksandr Osipov in ☄️ effector
так зачем тут динамическое создание юнитов? Хм, можно просто сделать стор с кешем, сделать базовый эффект для запроса и проверки наличия в кеше
источник

AO

Aleksandr Osipov in ☄️ effector
и через attach прикрепить cache к эффекту
источник

AO

Aleksandr Osipov in ☄️ effector
сейчас накидаю в репле
источник

AO

Aleksandr Osipov in ☄️ effector
источник

AO

Aleksandr Osipov in ☄️ effector
источник

DS

Dmitriy Shuleshov in ☄️ effector
Nikita Epshteyn
была мысль кешировать апи запросы к сущностям по id, с expiration, в Map. Эти сущности могут быть удалены, поэтому они также из Map удаляются.
Эффектор создан описывать процессы бизнес логики, а не сущности в проекте.
Следуя заложенным в него парадигмам будет намного проще использовать инструмент (читайте "по назначению")
источник

AO

Aleksandr Osipov in ☄️ effector
ну expiration там дело техники добавить
источник