Size: a a a

2020 July 14

DS

Dmitriy Shuleshov in ☄️ effector
Andrey
ну я к тому, что режект ничего не повалит там
а сам промис, по идее должен зачиститься гц, если его никто не держит нарочно
Я тож так думаю
источник

A

Andrey in ☄️ effector
Andrey
ну я к тому, что режект ничего не повалит там
а сам промис, по идее должен зачиститься гц, если его никто не держит нарочно
просто по тем же рассуждениям, ивенты возвращают пейлоад, который тоже может во вью повиснуть, потенциально, что не сильно отличается от висячего промиса, имо
поэтому я не вижу смысла не пускать эффекты во вью слой
источник

🦜

🦜 in ☄️ effector
Andrey
ну я к тому, что режект ничего не повалит там
а сам промис, по идее должен зачиститься гц, если его никто не держит нарочно
так этот промис ссылается на эффект, который всегда существует
источник

A

Andrey in ☄️ effector
🦜
так этот промис ссылается на эффект, который всегда существует
в плане
каким образом?
источник

A

Andrey in ☄️ effector
Andrey
в плане
каким образом?
https://github.com/zerobias/effector/blob/master/src/effector/createEffect.ts#L73
это вроде единственная ссылка на промис, который возвращается
и в целом, если за пределами блока его явно никуда не присвоить, то после выполнения блока кода, он должен подчиститься гц

коррект ми иф айм ронг, как говорится
источник

🦜

🦜 in ☄️ effector
No, garbage collection does not work any different for them. A function is, like any other object, garbage-collected when nothing references it any more.

There are of course some "hidden" references in the promise implementation:

* resolving functions (resolve and reject) do
* reference the promise
the promise references all then callbacks installed on it
* the installed handlers reference the promise created by the then() call
A good implementation does remove the reference from the resolving functions to the promise when one of them was called, and it does remove the references from the promise to the handlers when the promise was settled.
источник

A

Andrey in ☄️ effector
🦜
No, garbage collection does not work any different for them. A function is, like any other object, garbage-collected when nothing references it any more.

There are of course some "hidden" references in the promise implementation:

* resolving functions (resolve and reject) do
* reference the promise
the promise references all then callbacks installed on it
* the installed handlers reference the promise created by the then() call
A good implementation does remove the reference from the resolving functions to the promise when one of them was called, and it does remove the references from the promise to the handlers when the promise was settled.
так, и что из этого происходит, если мы оставим висячий промис во вью слое?)
источник

🦜

🦜 in ☄️ effector
Andrey
так, и что из этого происходит, если мы оставим висячий промис во вью слое?)
серьезно?
источник

A

Andrey in ☄️ effector
🦜
серьезно?
да, мне серьезно не ясно
источник

🦜

🦜 in ☄️ effector
что будет с промисом в котором 1к элементов в статусе fulfilled
источник

🦜

🦜 in ☄️ effector
а 10 таких
источник

🦜

🦜 in ☄️ effector
а 100 таких
источник

A

Andrey in ☄️ effector
а причем тут вью слой?
во вью слое нет на него референсов, и даже хидден референсов, как в том, что ты привел
источник

🦜

🦜 in ☄️ effector
растет память
источник

A

Andrey in ☄️ effector
он если и будет висеть, то точно не изза того, что повис во вью слое
источник

S

Sm•ok 😈✔️ in ☄️ effector
🦜
что будет с промисом в котором 1к элементов в статусе fulfilled
Промисы же реджекнутся
источник

S

Sm•ok 😈✔️ in ☄️ effector
Мы же про запросы?
источник

A

Andrey in ☄️ effector
и то, мне кажется, что все эти хендленры грохнутся гц после выполнения внешнего блока кода, и почистятся и хендлеры и промис
источник

🦜

🦜 in ☄️ effector
Andrey
а причем тут вью слой?
во вью слое нет на него референсов, и даже хидден референсов, как в том, что ты привел
потому что нет cleanup в useEffect
источник

🦜

🦜 in ☄️ effector
Sm•ok 😈✔️
Промисы же реджекнутся
С чего?
источник