(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))
(wait-for* predicate
{:keys [interval timeout timeout-fn] :or {interval 3 timeout 120}})
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close