Skip to content

Instantly share code, notes, and snippets.

@jrasanen
Forked from abarnash/promise-all.clj
Created April 21, 2017 20:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jrasanen/5c257a64e814d111ecfc5c361fa451e8 to your computer and use it in GitHub Desktop.
Save jrasanen/5c257a64e814d111ecfc5c361fa451e8 to your computer and use it in GitHub Desktop.
Clojure implementation of all(promises).then(...) pattern from JavaScript
(defn getPromiseFn
[aPromise]
(fn [num] (Thread/sleep 10000)
(deliver aPromise (str num " done"))))
(def proms [(promise) (promise) (promise)])
(def promFns (map getPromiseFn proms))
(future (map deref proms))
(future (map promFn (range 0 (count proms))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment