To update from yesterday, I ended up adding (.exportSymbol js/goog "setTimeout" js/setTimeout)
to be executed before the top-level go
block and I was able to get it working. Thanks again for the help!
I haven't been able to find the answer via google, but do go block channels auto close themselves? I'm trying to put a value onto a channel created via a go block and it's returning false
@dehli The channel returned from (go ...)
is closed when the go
block exits. You shouldn't try to put anything to it.
Gotcha, that makes sense. Is there a way to repeatedly "take" the same value from a channel? More analogous to how JS promises work
I see that there is a promise-chan
which can only store one value, but can you still only take the value once?
promise-chan
will keep giving you the same value with repeated takes
Great 😄 That's exactly what I need! Thanks!
but I guess there is no promise-chan
in cljs
There is promise-chan in cljs https://github.com/clojure/core.async/blob/master/src/main/clojure/cljs/core/async.cljs#L67