Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
<?phpnamespace GuzzleHttp\Promise;final class Create{/*** Creates a promise for a value if the value is not a promise.** @param mixed $value Promise or value.** @return PromiseInterface*/public static function promiseFor($value){if ($value instanceof PromiseInterface) {return $value;}// Return a Guzzle promise that shadows the given promise.if (is_object($value) && method_exists($value, 'then')) {$wfn = method_exists($value, 'wait') ? [$value, 'wait'] : null;$cfn = method_exists($value, 'cancel') ? [$value, 'cancel'] : null;$promise = new Promise($wfn, $cfn);$value->then([$promise, 'resolve'], [$promise, 'reject']);return $promise;}return new FulfilledPromise($value);}/*** Creates a rejected promise for a reason if the reason is not a promise.* If the provided reason is a promise, then it is returned as-is.** @param mixed $reason Promise or reason.** @return PromiseInterface*/public static function rejectionFor($reason){if ($reason instanceof PromiseInterface) {return $reason;}return new RejectedPromise($reason);}/*** Create an exception for a rejected promise value.** @param mixed $reason** @return \Exception|\Throwable*/public static function exceptionFor($reason){if ($reason instanceof \Exception || $reason instanceof \Throwable) {return $reason;}return new RejectionException($reason);}/*** Returns an iterator for the given value.** @param mixed $value** @return \Iterator*/public static function iterFor($value){if ($value instanceof \Iterator) {return $value;}if (is_array($value)) {return new \ArrayIterator($value);}return new \ArrayIterator([$value]);}}