3 namespace seekat\API\Future
;
8 final class React2
extends Common
implements Future
{
9 protected string $promiseType = React\Promise\Promise
::class;
11 function createContext(callable
$onCancel = null) : React\Promise\PromisorInterface
{
12 $context = new React\Promise\
Deferred($onCancel);
13 if (isset($onCancel)) {
14 $this->cancellations
[$context->promise()] = $context->promise()->cancel(...);
19 function handlePromise(object $promise, callable
$onResult = null, callable
$onError = null) : React\Promise\PromiseInterface
{
20 return $promise->then($onResult, $onError);
23 function reject(mixed $reason) : object {
24 $context = $this->createContext();
25 $context->reject($reason);
26 return $context->promise();
29 function rejecter(object $context) : \Closure
{
30 return function($reason) use($context) {
31 $context->reject($reason);
36 * @param array<React\Promise\PromiseInterface> $promises
37 * @return React\Promise\PromiseInterface
39 function all(array $promises) : React\Promise\PromiseInterface
{
40 return React\Promise\all
($promises);