60 lines
1.5 KiB
Plaintext
60 lines
1.5 KiB
Plaintext
|
|
{{alias}}( predicate, x, y, done )
|
|
If a predicate function returns a truthy value, returns `x`; otherwise,
|
|
returns `y`.
|
|
|
|
A predicate function is provided a single argument:
|
|
|
|
- clbk: callback to invoke upon predicate completion
|
|
|
|
The callback function accepts two arguments:
|
|
|
|
- error: error object
|
|
- bool: condition used to determine whether to invoke `x` or `y`
|
|
|
|
The `done` callback is invoked upon function completion and is provided at
|
|
most two arguments:
|
|
|
|
- error: error object
|
|
- result: either `x` or `y`
|
|
|
|
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: any
|
|
Value to return if a condition is truthy.
|
|
|
|
y: any
|
|
Value to return if a condition is falsy.
|
|
|
|
done: Function
|
|
Callback to invoke upon completion.
|
|
|
|
Examples
|
|
--------
|
|
> function predicate( clbk ) {
|
|
... setTimeout( onTimeout, 0 );
|
|
... function onTimeout() {
|
|
... clbk( null, true );
|
|
... }
|
|
... };
|
|
> function done( error, result ) {
|
|
... if ( error ) {
|
|
... throw error;
|
|
... }
|
|
... console.log( result );
|
|
... };
|
|
> {{alias}}( predicate, 'beep', 'boop', done )
|
|
'beep'
|
|
|
|
See Also
|
|
--------
|
|
|