CloudCastle Curl

Promise
in package

FinalYes

Ленивый промис результата запроса.

Вычисление откладывается до первого вызова Promise::wait() и выполняется ровно один раз: результат (значение или исключение) запоминается. Цепочки Promise::then() / Promise::otherwise() строят новые промисы, не запуская обмен раньше времени. Комбинаторы Promise::all(), Promise::settle() и Promise::any() собирают наборы промисов. Промис-результат обработчика разворачивается автоматически.

Table of Contents

Constants

FULFILLED  : mixed = 'fulfilled'
PENDING  : mixed = 'pending'
REJECTED  : mixed = 'rejected'

Methods

__construct()  : mixed
all()  : self
Промис значений всех промисов (с сохранением ключей).
any()  : self
Промис первого успешного значения.
otherwise()  : self
Продолжить цепочку обработчиком ошибки.
reject()  : self
Уже отклонённый промис.
resolve()  : self
Уже выполненный промис.
settle()  : self
Промис итогов всех промисов: для каждого — состояние и значение/причина.
state()  : string
Текущее состояние промиса.
then()  : self
Продолжить цепочку обработчиками результата.
wait()  : mixed
Дождаться результата (выполнить вычисление, если оно ещё не выполнено).

Constants

FULFILLED

public mixed FULFILLED = 'fulfilled'

PENDING

public mixed PENDING = 'pending'

REJECTED

public mixed REJECTED = 'rejected'

Methods

__construct()

public __construct(callable(): mixed|null $resolver) : mixed
Parameters
$resolver : callable(): mixed|null

вычисление результата (вызывается один раз)

all()

Промис значений всех промисов (с сохранением ключей).

public static all(array<string|int, self> $promises) : self

Отклоняется первой же ошибкой.

Parameters
$promises : array<string|int, self>

набор промисов

Return values
self —

промис массива значений

any()

Промис первого успешного значения.

public static any(iterable<string|int, self> $promises) : self

Отклоняется, только если отклонены все промисы (причина — последняя ошибка).

Parameters
$promises : iterable<string|int, self>

набор промисов

Return values
self —

промис первого значения

otherwise()

Продолжить цепочку обработчиком ошибки.

public otherwise(callable(Throwable): mixed $onRejected) : self
Parameters
$onRejected : callable(Throwable): mixed

обработчик ошибки

Return values
self —

новый промис

reject()

Уже отклонённый промис.

public static reject(Throwable $reason) : self
Parameters
$reason : Throwable

причина

Return values
self —

отклонённый промис

resolve()

Уже выполненный промис.

public static resolve(mixed $value) : self
Parameters
$value : mixed

значение

Return values
self —

выполненный промис

settle()

Промис итогов всех промисов: для каждого — состояние и значение/причина.

public static settle(iterable<string|int, self> $promises) : self

Никогда не отклоняется.

Parameters
$promises : iterable<string|int, self>

набор промисов

Return values
self —

промис массива ['state' => …, 'value' => …] / ['state' => …, 'reason' => …]

then()

Продолжить цепочку обработчиками результата.

public then([callable(mixed): mixed|null $onFulfilled = null ][, callable(Throwable): mixed|null $onRejected = null ]) : self
Parameters
$onFulfilled : callable(mixed): mixed|null = null

обработчик значения

$onRejected : callable(Throwable): mixed|null = null

обработчик ошибки

Return values
self —

новый промис

wait()

Дождаться результата (выполнить вычисление, если оно ещё не выполнено).

public wait() : mixed
Tags
throws
Throwable

причина отклонения

Return values
mixed —

значение промиса

On this page

Search results