Promise
in package
implements
PromiseInterface
Tags
Table of Contents
Interfaces
Properties
- $cancelled : bool
- $canceller : callable(callable(T): void, callable(Throwable): void): void|null
- $handlers : array<int, callable(PromiseInterface<string|int, T>): void>
- $requiredCancelRequests : int
- $result : PromiseInterface<string|int, T>|null
Methods
- __construct() : mixed
- always() : PromiseInterface<string|int, T>
- [Deprecated] Allows you to execute "cleanup" type tasks in a promise chain.
- cancel() : void
- The `cancel()` method notifies the creator of the promise that there is no further interest in the results of the operation.
- catch() : PromiseInterface<string|int, T|TRejected>
- Registers a rejection handler for promise. It is a shortcut for:
- finally() : PromiseInterface<string|int, T>
- Allows you to execute "cleanup" type tasks in a promise chain.
- otherwise() : PromiseInterface<string|int, T|TRejected>
- [Deprecated] Registers a rejection handler for a promise.
- then() : PromiseInterface<string|int, mixed>
- Transforms a promise's value by applying a function to the promise's fulfillment or rejection value. Returns a new promise for the transformed result.
- call() : void
- reject() : void
- resolver() : callable
- settle() : void
- unwrap() : PromiseInterface<string|int, T>
Properties
$cancelled
private
bool
$cancelled
= false
$canceller
private
callable(callable(T): void, callable(Throwable): void): void|null
$canceller
$handlers
private
array<int, callable(PromiseInterface<string|int, T>): void>
$handlers
= []
$requiredCancelRequests
private
int
$requiredCancelRequests
= 0
$result
private
PromiseInterface<string|int, T>|null
$result
Methods
__construct()
public
__construct(callable(callable(T): void, callable(Throwable): void): void $resolver[, callable(callable(T): void, callable(Throwable): void): void|null $canceller = null ]) : mixed
Parameters
- $resolver : callable(callable(T): void, callable(Throwable): void): void
- $canceller : callable(callable(T): void, callable(Throwable): void): void|null = null
always()
[Deprecated] Allows you to execute "cleanup" type tasks in a promise chain.
public
always(callable $onFulfilledOrRejected) : PromiseInterface<string|int, T>
Use finally() instead
Parameters
- $onFulfilledOrRejected : callable
Tags
Return values
PromiseInterface<string|int, T>cancel()
The `cancel()` method notifies the creator of the promise that there is no further interest in the results of the operation.
public
cancel() : void
Once a promise is settled (either fulfilled or rejected), calling cancel() on
a promise has no effect.
catch()
Registers a rejection handler for promise. It is a shortcut for:
public
catch(callable(TThrowable): Array $onRejected) : PromiseInterface<string|int, T|TRejected>
Parameters
- $onRejected : callable(TThrowable): Array
Tags
Return values
PromiseInterface<string|int, T|TRejected>finally()
Allows you to execute "cleanup" type tasks in a promise chain.
public
finally(callable $onFulfilledOrRejected) : PromiseInterface<string|int, T>
It arranges for $onFulfilledOrRejected to be called, with no arguments,
when the promise is either fulfilled or rejected.
- If
$promisefulfills, and$onFulfilledOrRejectedreturns successfully,$newPromisewill fulfill with the same value as$promise. - If
$promisefulfills, and$onFulfilledOrRejectedthrows or returns a rejected promise,$newPromisewill reject with the thrown exception or rejected promise's reason. - If
$promiserejects, and$onFulfilledOrRejectedreturns successfully,$newPromisewill reject with the same reason as$promise. - If
$promiserejects, and$onFulfilledOrRejectedthrows or returns a rejected promise,$newPromisewill reject with the thrown exception or rejected promise's reason.
finally() behaves similarly to the synchronous finally statement. When combined
with catch(), finally() allows you to write code that is similar to the familiar
synchronous catch/finally pair.
Consider the following synchronous code:
try {
return doSomething();
} catch(\Exception $e) {
return handleError($e);
} finally {
cleanup();
}
Similar asynchronous code (with doSomething() that returns a promise) can be
written:
return doSomething()
->catch('handleError')
->finally('cleanup');
Parameters
- $onFulfilledOrRejected : callable
Return values
PromiseInterface<string|int, T>otherwise()
[Deprecated] Registers a rejection handler for a promise.
public
otherwise(callable $onRejected) : PromiseInterface<string|int, T|TRejected>
Use catch() instead
Parameters
- $onRejected : callable
Tags
Return values
PromiseInterface<string|int, T|TRejected>then()
Transforms a promise's value by applying a function to the promise's fulfillment or rejection value. Returns a new promise for the transformed result.
public
then([callable|null $onFulfilled = null ][, callable|null $onRejected = null ]) : PromiseInterface<string|int, mixed>
The then() method registers new fulfilled and rejection handlers with a promise
(all parameters are optional):
-
$onFulfilledwill be invoked once the promise is fulfilled and passed the result as the first argument. -
$onRejectedwill be invoked once the promise is rejected and passed the reason as the first argument.
It returns a new promise that will fulfill with the return value of either
$onFulfilled or $onRejected, whichever is called, or will reject with
the thrown exception if either throws.
A promise makes the following guarantees about handlers registered in
the same call to then():
- Only one of
$onFulfilledor$onRejectedwill be called, never both. -
$onFulfilledand$onRejectedwill never be called more than once.
Parameters
- $onFulfilled : callable|null = null
- $onRejected : callable|null = null
Return values
PromiseInterface<string|int, mixed>call()
private
call(callable(callable(mixed): void, callable(Throwable): void): void $cb) : void
Parameters
- $cb : callable(callable(mixed): void, callable(Throwable): void): void
reject()
private
reject(Throwable $reason) : void
Parameters
- $reason : Throwable
resolver()
private
resolver([callable|null $onFulfilled = null ][, callable|null $onRejected = null ]) : callable
Parameters
- $onFulfilled : callable|null = null
- $onRejected : callable|null = null
Return values
callablesettle()
private
settle(PromiseInterface<string|int, T> $result) : void
Parameters
- $result : PromiseInterface<string|int, T>
unwrap()
private
unwrap(PromiseInterface<string|int, T> $promise) : PromiseInterface<string|int, T>
Parameters
- $promise : PromiseInterface<string|int, T>