(alet bindings & body)
A let
alternative that always returns promise and allows
use await
marker function in order to emulate the async/await
syntax and make the let expression look like synchronous where
async operations are performed.
A `let` alternative that always returns promise and allows use `await` marker function in order to emulate the async/await syntax and make the let expression look like synchronous where async operations are performed.
(all promises)
Given an array of promises, return a promise that is fulfilled when all the items in the array are fulfilled.
Example:
(-> (all [(promise :first-promise) (promise :second-promise)] (then (fn [[first-result second-result]])) (println (str first-result ", " second-result)
Will print out :first-promise, :second-promise.
If at least one of the promises is rejected, the resulting promise will be rejected.
Given an array of promises, return a promise that is fulfilled when all the items in the array are fulfilled. Example: (-> (all [(promise :first-promise) (promise :second-promise)] (then (fn [[first-result second-result]])) (println (str first-result ", " second-result) Will print out :first-promise, :second-promise. If at least one of the promises is rejected, the resulting promise will be rejected.
(any promises)
(any promises default)
Given an array of promises, return a promise that is fulfilled when first one item in the array is fulfilled.
Given an array of promises, return a promise that is fulfilled when first one item in the array is fulfilled.
(attempt callback)
A helper for start promise chain without worry about synchronous or asynchronous exceptions. Returns a promise resolved with the return value of the callback.
A helper for start promise chain without worry about synchronous or asynchronous exceptions. Returns a promise resolved with the return value of the callback.
(cancelled? v)
Return true if v
is a cancelled promise.
Return true if `v` is a cancelled promise.
(catch p f)
(catch p pred-or-type f)
Catch all promise chain helper.
Catch all promise chain helper.
(chain p & funcs)
Like then but accepts multiple parameters.
Like then but accepts multiple parameters.
(delay t)
(delay t v)
Given a timeout in miliseconds and optional value, returns a promise that will fulfilled with provided value (or nil) after the time is reached.
Given a timeout in miliseconds and optional value, returns a promise that will fulfilled with provided value (or nil) after the time is reached.
(do* & body)
A sugar syntax on top of attempt
.
A sugar syntax on top of `attempt`.
Returns true if promise p
is already done.
Returns true if promise `p` is already done.
(error f p)
(error f type p)
Same as catch
but with parameters inverted.
Same as `catch` but with parameters inverted.
(extend-promise! promise)
A helper function that attaches the internal protocols implementation to a specified type. Usefull if you want to use different promise implementations with promesa functions.
A helper function that attaches the internal protocols implementation to a specified type. Usefull if you want to use different promise implementations with promesa functions.
(extract p)
Returns the current promise value.
Returns the current promise value.
(finally p callback)
Attach handler to promise that will be executed independently if promise is resolved or rejected.
Attach handler to promise that will be executed independently if promise is resolved or rejected.
(map f p)
Apply a function to the promise value and return a new promise with the result.
Apply a function to the promise value and return a new promise with the result.
(mapcat f p)
Same as map
but removes one level of
promise neesting. Useful when the map function
returns a promise instead of value.
In JS environment this function is analogous
to map
because the promise abstraction overloads
the map
operator.
Same as `map` but removes one level of promise neesting. Useful when the map function returns a promise instead of value. In JS environment this function is analogous to `map` because the promise abstraction overloads the `map` operator.
(pending? p)
Returns true if promise p
is stil pending.
Returns true if promise `p` is stil pending.
(promise? v)
Return true if v
is a promise instance.
Return true if `v` is a promise instance.
(promisify callable)
Given a function that accepts a callback as the last argument return other function that returns a promise. Callback is expected to take single parameter (result of a computation).
Given a function that accepts a callback as the last argument return other function that returns a promise. Callback is expected to take single parameter (result of a computation).
(rejected v)
Return a rejected promise with provided reason.
Return a rejected promise with provided reason.
(rejected? p)
Returns true if promise p
is already rejected.
Returns true if promise `p` is already rejected.
(resolved v)
Return a resolved promise with provided value.
Return a resolved promise with provided value.
(resolved? p)
Returns true if promise p
is already fulfilled.
Returns true if promise `p` is already fulfilled.
(schedule ms func)
Schedule a callable to be executed after the ms
delay
is reached.
In JVM it uses a scheduled executor service and in JS
it uses the setTimeout
function.
Schedule a callable to be executed after the `ms` delay is reached. In JVM it uses a scheduled executor service and in JS it uses the `setTimeout` function.
(set-default-promise! promise)
Sets the default promise type that should be used for creating all promise instances.
Sets the default promise type that should be used for creating all promise instances.
(set-executor! executor)
Replace the default executor instance with your own instance.
Replace the default executor instance with your own instance.
(then p f)
Similar to map
but with parameters inverted
for convenience and for familiarity with
javascript's promises .then
operator.
Unlike Clojure's map
, will resolve any promises
returned by f
.
Similar to `map` but with parameters inverted for convenience and for familiarity with javascript's promises `.then` operator. Unlike Clojure's `map`, will resolve any promises returned by `f`.
(timeout p t)
(timeout p t v)
Returns a cancellable promise that will be fulfilled with this
promise's fulfillment value or rejection reason. However, if this
promise is not fulfilled or rejected within ms
milliseconds, the
returned promise is cancelled with a TimeoutError
Returns a cancellable promise that will be fulfilled with this promise's fulfillment value or rejection reason. However, if this promise is not fulfilled or rejected within `ms` milliseconds, the returned promise is cancelled with a TimeoutError
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close