Verzeichnisstruktur phpBB-3.3.15
- Veröffentlicht
- 28.08.2024
So funktioniert es
|
Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück |
Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
FulfilledPromise.php
01 <?php
02
03 namespace GuzzleHttp\Promise;
04
05 /**
06 * A promise that has been fulfilled.
07 *
08 * Thenning off of this promise will invoke the onFulfilled callback
09 * immediately and ignore other callbacks.
10 */
11 class FulfilledPromise implements PromiseInterface
12 {
13 private $value;
14
15 public function __construct($value)
16 {
17 if (is_object($value) && method_exists($value, 'then')) {
18 throw new \InvalidArgumentException(
19 'You cannot create a FulfilledPromise with a promise.'
20 );
21 }
22
23 $this->value = $value;
24 }
25
26 public function then(
27 callable $onFulfilled = null,
28 callable $onRejected = null
29 ) {
30 // Return itself if there is no onFulfilled function.
31 if (!$onFulfilled) {
32 return $this;
33 }
34
35 $queue = Utils::queue();
36 $p = new Promise([$queue, 'run']);
37 $value = $this->value;
38 $queue->add(static function () use ($p, $value, $onFulfilled) {
39 if (Is::pending($p)) {
40 try {
41 $p->resolve($onFulfilled($value));
42 } catch (\Throwable $e) {
43 $p->reject($e);
44 } catch (\Exception $e) {
45 $p->reject($e);
46 }
47 }
48 });
49
50 return $p;
51 }
52
53 public function otherwise(callable $onRejected)
54 {
55 return $this->then(null, $onRejected);
56 }
57
58 public function wait($unwrap = true, $defaultDelivery = null)
59 {
60 return $unwrap ? $this->value : null;
61 }
62
63 public function getState()
64 {
65 return self::FULFILLED;
66 }
67
68 public function resolve($value)
69 {
70 if ($value !== $this->value) {
71 throw new \LogicException("Cannot resolve a fulfilled promise");
72 }
73 }
74
75 public function reject($reason)
76 {
77 throw new \LogicException("Cannot reject a fulfilled promise");
78 }
79
80 public function cancel()
81 {
82 // pass
83 }
84 }
85