Liking cljdoc? Tell your friends :D
Clojure only.

wait-for.core


wait-forcljmacro

(wait-for
  predicate
  &
  {:as opts :keys [interval timeout timeout-fn] :or {interval 3 timeout 120}})

Invoke predicate every interval (default 3) seconds until it returns true, or timeout (default 120) seconds have elapsed. E.g.:

(wait-for #(< (rand) 0.2) :interval 1 :timeout 10)

Optionally takes a :timeout-fn key the value of which will be called when the timeout occurs. The default behaviour is to throw an (ex-info ...) with a useful message.

Setting timeout-fn explicitly to false cause the results of the last call to predicate to be returned regardless. This allows the following form to work as expected in tests:

(is (wait-for #(< (rand) 0.2) :interval 1 :timeout 10))
Invoke predicate every interval (default 3) seconds until it returns true,
or timeout (default 120) seconds have elapsed. E.g.:

    (wait-for #(< (rand) 0.2) :interval 1 :timeout 10)

Optionally takes a `:timeout-fn` key the value of which will be
called when the timeout occurs. The default behaviour is to throw
an `(ex-info ...)` with a useful message.

Setting `timeout-fn` explicitly to `false` cause the results of the
last call to `predicate` to be returned regardless. This allows the
following form to work as expected in tests:

    (is (wait-for #(< (rand) 0.2) :interval 1 :timeout 10))
sourceraw docstring

wait-for*clj

(wait-for* predicate
           {:keys [interval timeout timeout-fn] :or {interval 3 timeout 120}})
source

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

× close