time-to-botec/squiggle/node_modules/@stdlib/utils/async/if-then/docs/repl.txt
NunoSempere b6addc7f05 feat: add the node modules
Necessary in order to clearly see the squiggle hotwiring.
2022-12-03 12:44:49 +00:00

79 lines
2.2 KiB
Plaintext

{{alias}}( predicate, x, y, done )
If a predicate function returns a truthy value, invokes `x`; otherwise,
invokes `y`.
The predicate function is provided a single argument:
- clbk: callback to invoke upon predicate function completion
The predicate function callback accepts two arguments:
- error: error object
- bool: condition used to determine whether to invoke `x` or `y`
Both `x` and `y` are provided a single argument:
- clbk: callback to invoke upon function completion
The callback function accepts any number of arguments, with the first
argument reserved for providing an error.
If the error argument is falsy, the `done` callback is invoked with its
first argument as `null` and all other provided arguments.
If the error argument is truthy, the `done` callback is invoked with only an
error argument.
Execution is *not* guaranteed to be asynchronous. To guarantee asynchrony,
wrap the `done` callback in a function which either executes at the end of
the current stack (e.g., `nextTick`) or during a subsequent turn of the
event loop (e.g., `setImmediate`, `setTimeout`).
Parameters
----------
predicate: Function
Predicate function.
x: Function
Function to invoke if a condition is truthy.
y: Function
Function to invoke if a condition is falsy.
done: Function
Callback to invoke upon completion.
Examples
--------
> function predicate( clbk ) {
... setTimeout( onTimeout, 0 );
... function onTimeout() {
... clbk( null, false );
... }
... };
> function x( clbk ) {
... setTimeout( onTimeout, 0 );
... function onTimeout() {
... clbk( null, 'beep' );
... }
... };
> function y( clbk ) {
... setTimeout( onTimeout, 0 );
... function onTimeout() {
... clbk( null, 'boop' );
... }
... };
> function done( error, result ) {
... if ( error ) {
... throw error;
... }
... console.log( result );
... };
> {{alias}}( predicate, x, y, done )
'boop'
See Also
--------