79 lines
2.2 KiB
Plaintext
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
|
|
--------
|
|
|