PendingPromise

class Firstred\PostNL\Util\PendingPromise
Promises/A+ implementation that avoids recursion when possible.
Implements:

Http\Promise\Promise

Summary

Methods

Properties

private static property Firstred\PostNL\Util\PendingPromise::$state
private static property Firstred\PostNL\Util\PendingPromise::$result
private static property Firstred\PostNL\Util\PendingPromise::$cancelFn
private static property Firstred\PostNL\Util\PendingPromise::$waitFn
private static property Firstred\PostNL\Util\PendingPromise::$waitList
private static property Firstred\PostNL\Util\PendingPromise::$handlers

Methods

public Firstred\PostNL\Util\PendingPromise::__construct($waitFn=null, $cancelFn=null)
Parameters:
  • $waitFn (callable) fn that when invoked resolves the promise

  • $cancelFn (callable) fn that when invoked cancels the promise

public Firstred\PostNL\Util\PendingPromise::then($onFulfilled=null, $onRejected=null)
Parameters:
  • $onFulfilled (callable | null)

  • $onRejected (callable | null)

Returns:

\Firstred\PostNL\Util\PendingPromise | \Http\Promise\Promise

public Firstred\PostNL\Util\PendingPromise::otherwise($onRejected)
Parameters:
  • $onRejected (callable)

Returns:

\Firstred\PostNL\Util\PendingPromise | \Http\Promise\Promise

public Firstred\PostNL\Util\PendingPromise::wait($unwrap=true)
Parameters:
  • $unwrap (bool)

Returns:

mixed | void

Throws:

\Exception

public Firstred\PostNL\Util\PendingPromise::getState()
Returns:

string

public Firstred\PostNL\Util\PendingPromise::cancel()
Returns:

void

public Firstred\PostNL\Util\PendingPromise::resolve($value)
Parameters:
  • $value (mixed)

public Firstred\PostNL\Util\PendingPromise::reject($reason)
Parameters:
  • $reason (mixed)

private Firstred\PostNL\Util\PendingPromise::settle($state, $value)
Parameters:
  • $state (string)

  • $value (mixed)

private static Firstred\PostNL\Util\PendingPromise::callHandler($index, $value, $handler)
Call a stack of handlers using a specific callback index and value.
Parameters:
  • $index (int) 1 (resolve) or 2 (reject)

  • $value (mixed) value to pass to the callback

  • $handler (array) array of handler data (promise and callbacks)

Returns:

void returns the next group to resolve

private Firstred\PostNL\Util\PendingPromise::waitIfPending()
Throws:

\Exception

Returns:

void

private Firstred\PostNL\Util\PendingPromise::invokeWaitFn()
Throws:

\Exception

private Firstred\PostNL\Util\PendingPromise::invokeWaitList()
Throws:

\Exception