Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. Promise.php

function Promise::settle

Same name in this branch
  1. 11.1.x vendor/guzzlehttp/promises/src/Promise.php \GuzzleHttp\Promise\Promise::settle()

Parameters

PromiseInterface<T> $result:

1 call to Promise::settle()
Promise::reject in vendor/react/promise/src/Promise.php

File

vendor/react/promise/src/Promise.php, line 198

Class

Promise
@template T @template-implements PromiseInterface<T>

Namespace

React\Promise

Code

private function settle(PromiseInterface $result) : void {
    $result = $this->unwrap($result);
    if ($result === $this) {
        $result = new RejectedPromise(new \LogicException('Cannot resolve a promise with itself.'));
    }
    if ($result instanceof self) {
        $result->requiredCancelRequests++;
    }
    else {
        // Unset canceller only when not following a pending promise
        $this->canceller = null;
    }
    $handlers = $this->handlers;
    $this->handlers = [];
    $this->result = $result;
    foreach ($handlers as $handler) {
        $handler($result);
    }
    // Forward cancellation to rejected promise to avoid reporting unhandled rejection
    if ($this->cancelled && $result instanceof RejectedPromise) {
        $result->cancel();
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal