(put! ch val) - Puts a value onto a channel, doesn't block at all.
(>! ch val) - Puts a value onto a channel, "blocks" in a go
block (parks).
(>!! ch val) - Puts a value onto a channel, blocks. Not available in js.
(take! ch cb) - Takes a value from a channel, doesn't block at all. Take a callback fn.
(<! ch) - Takes a value from a channel, "blocks" in a go
block (parks).
(<!! ch) - Takes a value form a channel, blocks. Not available in js.
Let's compare core.async with three prominent async strategies in Javascript: