stack

Home > @infiniteobjects/core-library-node > Async > if

Async.if() method

Conditional promise chains. It’s just a passthrough if condition is false and doElse is not provided.

Signature:

static if<ValueType, DoIfReturnType, DoElseReturnType = ValueType>(condition: boolean | ((value: ValueType) => boolean | PromiseLike<boolean>), doIf: (value: ValueType) => DoIfReturnType | PromiseLike<DoIfReturnType>, doElse?: (value: ValueType) => DoElseReturnType | PromiseLike<DoElseReturnType>): (value: ValueType) => Promise<DoIfReturnType | DoElseReturnType>;

Parameters

Parameter Type Description
condition boolean | ((value: ValueType) => boolean | PromiseLike<boolean>) Decides whether doIf or doElse is executed.
doIf (value: ValueType) => DoIfReturnType | PromiseLike<DoIfReturnType> Executed if condition is true. Expected to return a Promise or value.
doElse (value: ValueType) => DoElseReturnType | PromiseLike<DoElseReturnType> (Optional) Executed if condition is false. Expected to return a Promise or value.

Returns:

(value: ValueType) => Promise<DoIfReturnType | DoElseReturnType>