Fork me on GitHub

hey guys, on thinking about using core.async for a service I’m curious about the infectiousness of channels. is there a way to prevent the spread of go blocks into consumers of my service? is it a simple as

(service/do-something-async :val then-callback)
where the service eventually just pulls a result from a channel, then invokes the then-callback of the consumer?


or is this a case where you just have to pick a concurrency model and run with it?


there's more options in jvm clojure - you can use things like put! and <!! etc.


ah, that’s right I forgot there’s no blocking in cljs. so at worst consumers would just know that the service works with csp and they should <!!. i suppose that’s a little better than a callback, at least for readability


@lwhorton my talk at the last Clojure/West was on that subject:


thanks @tbaldridge ill take a look