I probably hit some transient issue in my system, but I may have run into a case where
(-> (..return a chan..) <!!)
doesn't work while
(let [rc (..return a chan..)] (<!! rc))
does work? Does that ring a bell for anybody?(let [c (a/chan)
f (fn [] c)]
(a/go (a/>! c :value))
(a/go (-> (f) a/<! prn))
nil)
seems to work in a very simple caseMeant <!! as well, and for me the simple case works too
doesn't work...... how?
doesn't work as in block seemingly endlessly
a channel that doesn't give any values will block endlessly if you take from it
doesn't matter the syntax
could it be that something else is different about the two different tests that were performed?
Yeah, I convinced myself that maybe the syntax would be the difference, but another issue somewhere is more likely. Couldn't really google on thread-first with core.async. Therefor wanted to check if this syntax was something that maybe could have been a thing.
-> is low on the list of suspects