I assumed so but thought I should check that there wasn't some fancy
garbage collection thing happening.

Do you happen to have a quick example of how to use the om-tools mixin
to automatically unsubscribe?

Thanks!

On 30 October 2014 20:24, Daniel Kersten <[email protected]> wrote:
> Yes, you should terminate the go block in will-unmont, otherwise if your
> component is mounted multiple times, you will end up with multiple go blocks
> consuming from the channel. If you are transacting on a cursor, then this
> will just eat up resources, but if you are accessing owner (eg to get/set
> local state) then you also risk accessing stale react components.
>
> I personally use an om-tools mixin to handle both subscribing and
> unsubscribing to core.async pubs. This way I don't have to remember to
> unsubscribe in unmount myself.
>
> On 30 October 2014 18:01, Colin Yates <[email protected]> wrote:
>>
>> (om/core.async newbie warning)
>>
>> I see a common pattern (including in the om tutorials) of using channels
>> to communicate. Specifically I see code similar to:
>>
>> [code]
>> om/IWillMount
>>     (will-mount [_]
>>       (let [nav (om/get-shared owner :nav-chan)]
>>         (go (loop []
>>               (let [page (<! nav)]
>>                 (om/transact! app :page (fn [x] page))
>>                 (recur))))
>> [/code]
>>
>> What happens when that component is unmounted? Do I need to stop listening
>> to that channel and if so how do I do that?
>>
>> I am not claiming there is a problem, I am simply asking if there is a
>> potential problem and for clarity on the mechanics.
>>
>> For context, I am mounting/unmounting quite a bit as they navigate through
>> the app.
>>
>> 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 [email protected].
>> To post to this group, send email to [email protected].
>> 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 a topic in the
> Google Groups "ClojureScript" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/clojurescript/XTdL_KHuvG8/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To post to this group, send email to [email protected].
> 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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to