Documentation

Promise
in package
implements PromiseInterface

Promises/A+ implementation that avoids recursion when possible.

Tags
link
https://promisesaplus.com/

Interfaces, Classes and Traits

PromiseInterface
A promise represents the eventual result of an asynchronous operation.

Table of Contents

$cancelFn  : mixed
$handlers  : mixed
$result  : mixed
$state  : mixed
$waitFn  : mixed
$waitList  : mixed
__construct()  : mixed
cancel()  : mixed
Cancels the promise if possible.
getState()  : string
Get the state of the promise ("pending", "rejected", or "fulfilled").
otherwise()  : PromiseInterface
Appends a rejection handler callback to the promise, and returns a new promise resolving to the return value of the callback if it is called, or to its original fulfillment value if the promise is instead fulfilled.
reject()  : mixed
Reject the promise with the given reason.
resolve()  : mixed
Resolve the promise with the given value.
then()  : PromiseInterface
Appends fulfillment and rejection handlers to the promise, and returns a new promise resolving to the return value of the called handler.
wait()  : mixed
Waits until the promise completes if possible.
callHandler()  : mixed
Call a stack of handlers using a specific callback index and value.
invokeWaitFn()  : mixed
invokeWaitList()  : mixed
settle()  : mixed
waitIfPending()  : mixed

Properties

$handlers

private mixed $handlers = []

$state

private mixed $state = self::PENDING

Methods

__construct()

public __construct([callable $waitFn = null ][, callable $cancelFn = null ]) : mixed
Parameters
$waitFn : callable = null

Fn that when invoked resolves the promise.

$cancelFn : callable = null

Fn that when invoked cancels the promise.

Return values
mixed

cancel()

Cancels the promise if possible.

public cancel() : mixed
Return values
mixed

getState()

Get the state of the promise ("pending", "rejected", or "fulfilled").

public getState() : string

The three states can be checked against the constants defined on PromiseInterface: PENDING, FULFILLED, and REJECTED.

Return values
string

otherwise()

Appends a rejection handler callback to the promise, and returns a new promise resolving to the return value of the callback if it is called, or to its original fulfillment value if the promise is instead fulfilled.

public otherwise(callable $onRejected) : PromiseInterface
Parameters
$onRejected : callable

Invoked when the promise is rejected.

Return values
PromiseInterface

reject()

Reject the promise with the given reason.

public reject(mixed $reason) : mixed
Parameters
$reason : mixed
Return values
mixed

resolve()

Resolve the promise with the given value.

public resolve(mixed $value) : mixed
Parameters
$value : mixed
Return values
mixed

then()

Appends fulfillment and rejection handlers to the promise, and returns a new promise resolving to the return value of the called handler.

public then([callable $onFulfilled = null ][, callable $onRejected = null ]) : PromiseInterface
Parameters
$onFulfilled : callable = null

Invoked when the promise fulfills.

$onRejected : callable = null

Invoked when the promise is rejected.

Return values
PromiseInterface

wait()

Waits until the promise completes if possible.

public wait([mixed $unwrap = true ]) : mixed

Pass $unwrap as true to unwrap the result of the promise, either returning the resolved value or throwing the rejected exception.

If the promise cannot be waited on, then the promise will be rejected.

Parameters
$unwrap : mixed = true
Return values
mixed

callHandler()

Call a stack of handlers using a specific callback index and value.

private static callHandler(int $index, mixed $value, array<string|int, mixed> $handler) : mixed
Parameters
$index : int

1 (resolve) or 2 (reject).

$value : mixed

Value to pass to the callback.

$handler : array<string|int, mixed>

Array of handler data (promise and callbacks).

Return values
mixed

invokeWaitFn()

private invokeWaitFn() : mixed
Return values
mixed

invokeWaitList()

private invokeWaitList() : mixed
Return values
mixed

settle()

private settle(mixed $state, mixed $value) : mixed
Parameters
$state : mixed
$value : mixed
Return values
mixed

waitIfPending()

private waitIfPending() : mixed
Return values
mixed

Search results