[ Index ]

PHP Cross Reference of phpBB-3.2.11-deutsch

title

Body

[close]

/vendor/react/promise/src/ -> Deferred.php (source)

   1  <?php
   2  
   3  namespace React\Promise;
   4  
   5  class Deferred implements PromisorInterface
   6  {
   7      private $promise;
   8      private $resolveCallback;
   9      private $rejectCallback;
  10      private $notifyCallback;
  11      private $canceller;
  12  
  13      public function __construct(callable $canceller = null)
  14      {
  15          $this->canceller = $canceller;
  16      }
  17  
  18      public function promise()
  19      {
  20          if (null === $this->promise) {
  21              $this->promise = new Promise(function ($resolve, $reject, $notify) {
  22                  $this->resolveCallback = $resolve;
  23                  $this->rejectCallback  = $reject;
  24                  $this->notifyCallback  = $notify;
  25              }, $this->canceller);
  26              $this->canceller = null;
  27          }
  28  
  29          return $this->promise;
  30      }
  31  
  32      public function resolve($value = null)
  33      {
  34          $this->promise();
  35  
  36          \call_user_func($this->resolveCallback, $value);
  37      }
  38  
  39      public function reject($reason = null)
  40      {
  41          $this->promise();
  42  
  43          \call_user_func($this->rejectCallback, $reason);
  44      }
  45  
  46      /**
  47       * @deprecated 2.6.0 Progress support is deprecated and should not be used anymore.
  48       * @param mixed $update
  49       */
  50      public function notify($update = null)
  51      {
  52          $this->promise();
  53  
  54          \call_user_func($this->notifyCallback, $update);
  55      }
  56  
  57      /**
  58       * @deprecated 2.2.0
  59       * @see Deferred::notify()
  60       */
  61      public function progress($update = null)
  62      {
  63          $this->notify($update);
  64      }
  65  }


Generated: Wed Nov 11 20:33:01 2020 Cross-referenced by PHPXref 0.7.1