Liking cljdoc? Tell your friends :D

conquerant.core


asynccljmacro

(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.
sourceraw docstring

awaitclj

(await promise)
(await promise 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.
sourceraw docstring

completeclj

(complete promise x)

Completes the CompletableFuture. It will contain x.

Completes the `CompletableFuture`.
It will contain x.
sourceraw docstring

promisecljmacro

(promise)
(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 (def p (promise [resolve] (fetch "http://some.service.com" #(resolve %))))

;; can also be completed from outside (complete (promise) :done)

Used to get values out of callbacks.

ex:
;; some fn that takes a callback
(defn fetch [url callback] ...)

;; can be used as
(def p
  (promise [resolve]
    (fetch "http://some.service.com" #(resolve %))))

;; can also be completed from outside
(complete (promise) :done)
sourceraw docstring

promise?clj

(promise? obj)

Returns true if obj is a CompletableFuture.

Returns `true` if obj is a `CompletableFuture`.
sourceraw docstring

with-async-executorcljmacro

(with-async-executor executor & body)

async blocks in body will run on the given ExecutorService's threadpool.

`async` blocks in body will run on
the given `ExecutorService`'s threadpool.
sourceraw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close