Skip to content

Instantly share code, notes, and snippets.

@anonimitoraf
Forked from abarnash/promise-all.clj
Created March 10, 2020 12:36
Show Gist options
  • Save anonimitoraf/370aa1db46077fe9b031171837b8131f to your computer and use it in GitHub Desktop.
Save anonimitoraf/370aa1db46077fe9b031171837b8131f 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