(async expr)
If expr
is a fn
or defn
form, its body will
run asyncronously. Otherwise, expr
will itself
run asyncronously, and return a CompletableFuture
.
All async exectution occurs on the ci/*executor*
pool,
which is bound to the common ForkJoinPool by default.
If `expr` is a `fn` or `defn` form, its body will run asyncronously. Otherwise, `expr` will itself run asyncronously, and return a `CompletableFuture`. All async exectution occurs on the `ci/*executor*` pool, which is bound to the common ForkJoinPool by default.
(await v)
(await v timeout-ms timeout-val)
Use inside async
let
bindings.
The let
block will return a CompletableFuture
.
(async (let [x (async :x) y (await x)] y))
Will wait for the CompletableFuture
to complete
before evaluation resumes.
Use inside `async` `let` bindings. The `let` block will return a `CompletableFuture`. (async (let [x (async :x) y (await x)] y)) Will wait for the `CompletableFuture` to complete before evaluation resumes.
(complete promise x)
Completes the CompletableFuture
.
It will contain x.
Completes the `CompletableFuture`. It will contain x.
(promise [resolve] & body)
Used to get values out of callbacks.
ex: ;; some fn that takes a callback (defn fetch [url callback] ...)
;; can be used as (let p (promise [resolve] (fetch "http://some.service.com" #(resolve %))))
Used to get values out of callbacks. ex: ;; some fn that takes a callback (defn fetch [url callback] ...) ;; can be used as (let p (promise [resolve] (fetch "http://some.service.com" #(resolve %))))
(promise? obj)
Returns true
if obj is a CompletableFuture
.
Returns `true` if obj is a `CompletableFuture`.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close