I just tried this test case (from Anderkent on IRC):
(def pingc (chan))
(def ^:dynamic *text* "OUPS BAD ASYNC")
(binding [*text* "good boy"]
(go (while true
(<! pingc)
(js/alert *text*))))
(defn ping []
(put! pingc :ping))
(ping)
and I get "OUPS BAD ASYNC".
So, is this bug in cljs core.async?
Cheers, Mathias
Am Donnerstag, 5. September 2013 13:18:39 UTC+2 schrieb Mathias Picker:
>
> Hi all,
>
> I'm fighting with shoreleave-remote-ring running on a non default context
> (immutant), and me not being able to rebind
> shoreleave.remotes.http-rpc/*remote-uri* inside a go block.
>
> If you look at https://gist.github.com/mathiasp/6448753, you will find a
> code snippet in the init function which works as expected:
>
> (binding [srh/*remote-uri* "/opnenablement/_shoreleave"]
> ;;; this works as expected, goes to /opnenablement/_shoreleave
> (srm/rpc (save-config "myConfig") [result]
> :on-success (js/alert (str "Success: " result))
> :on-error (js/alert (str "Error: " result))))
>
> but the same code does not work inside the go block.
>
> Binding anything inside the go block gives me an error ("nth not supported
> on this type: Symbol"), and putting the binding anywhere outside it does
> not have any effect, the rpc call goes to /_shoreleave, ignoring the
> binding of *remote-uri* to /opnenablement/_shoreleave. If I look in the
> compiled javascript, the binding seems to get redefined just fine...???
>
> I'm banging my head on the for two hours allready, maybe you can give me
> some help.
>
> I'm new to clojure and core.async, so maybe, hopefully, I'm missing
> something obvious?
>
> Thanks, Mathias
>
--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.