Again, with only using the think method, here is the ClojureScript version of the pipe method
Thanks to Are pipe dreams made of promises? for writing it and Clojure - From Callbacks to Sequences for pointing it out to me.
EDIT: While still a good idea, futures and promises are not ClojureScript approved.
Another EDIT: See core.async for the right way to do this.