On Thu, Jan 21, 2010 at 6:19 AM, Baishampayan Ghose
<[email protected]> wrote:
>
> It would be great if someone pointed out some example usage of
> promise/deliver.
I've used them to convert a callback-based (continuation-passing
style, if you will) API into a blocking one. The lib I was using
provides something you can call like:
(rpc-call destination method-args done)
Where 'done' is a function that gets called with the results of
the remote procedure call. But I want to write a function that
does rpc but *returns* the result, so...
(let [p (promise)]
(rpc-call destination method-args #(deliver p %))
@p)
This will work just fine whether rpc-call calls 'done'
synchronously, or if it returns right away and 'done' is called
by some other thread later.
--Chouser
http://joyofclojure.com/
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en