Channels are cheap, but unless they get garbage collected (and I assume not
closing them will prevent this), they will still take up some resources.

Related and important is that you shut down any go blocks that you create
in IWillMount, especially if they take from a channel which may still be
receiving data (eg: through mux or pub/sub). If you don't shut these down,
they will continue to run even after the component has unmounted and if the
component is later mounted again, you will have multiple go blocks doing
the same thing! Besides using resources, this can actually be dangerous if
you are accessing owner inside the go block (eg to set local state) as you
may end up accessing an unmounted owner. The simplest solution is having a
kill channel that you listen on using async/alt that gets closed in the
IWillUnmount and that terminates the go block.


On 12 July 2014 02:24, Roberto Oliveros <robertoolive...@mac.com> wrote:

> I'm using Om for the client side and through the lifetime of the
> application many components gets mounted/unmounted. When mounted, various
> channels are opened (in go blocks). And I'm planning to use IWillUnmount to
> close them too. But first, my questions are: What happens to unclosed
> channels? Do the resources they used get released? Not closing channels
> (when unmounting components) can degrade the browser performance in the
> longrun? Thanks.
>
> --
> Note that posts from new members are moderated - please be patient with
> your first post.
> ---
> You received this message because you are subscribed to the Google Groups
> "ClojureScript" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojurescript+unsubscr...@googlegroups.com.
> To post to this group, send email to clojurescript@googlegroups.com.
> Visit this group at http://groups.google.com/group/clojurescript.
>

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to