Skip to content

Instantly share code, notes, and snippets.

@abarnash
Last active March 10, 2020 12:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save abarnash/9e5f1305f8f946426dd2 to your computer and use it in GitHub Desktop.
Save abarnash/9e5f1305f8f946426dd2 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