Commit inicial con archivos existentes
This commit is contained in:
66
vendor/react/promise/src/LazyPromise.php
vendored
Executable file
66
vendor/react/promise/src/LazyPromise.php
vendored
Executable file
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
|
||||
namespace React\Promise;
|
||||
|
||||
/**
|
||||
* @deprecated 2.8.0 LazyPromise is deprecated and should not be used anymore.
|
||||
*/
|
||||
class LazyPromise implements ExtendedPromiseInterface, CancellablePromiseInterface
|
||||
{
|
||||
private $factory;
|
||||
private $promise;
|
||||
|
||||
public function __construct(callable $factory)
|
||||
{
|
||||
$this->factory = $factory;
|
||||
}
|
||||
|
||||
public function then(callable $onFulfilled = null, callable $onRejected = null, callable $onProgress = null)
|
||||
{
|
||||
return $this->promise()->then($onFulfilled, $onRejected, $onProgress);
|
||||
}
|
||||
|
||||
public function done(callable $onFulfilled = null, callable $onRejected = null, callable $onProgress = null)
|
||||
{
|
||||
return $this->promise()->done($onFulfilled, $onRejected, $onProgress);
|
||||
}
|
||||
|
||||
public function otherwise(callable $onRejected)
|
||||
{
|
||||
return $this->promise()->otherwise($onRejected);
|
||||
}
|
||||
|
||||
public function always(callable $onFulfilledOrRejected)
|
||||
{
|
||||
return $this->promise()->always($onFulfilledOrRejected);
|
||||
}
|
||||
|
||||
public function progress(callable $onProgress)
|
||||
{
|
||||
return $this->promise()->progress($onProgress);
|
||||
}
|
||||
|
||||
public function cancel()
|
||||
{
|
||||
return $this->promise()->cancel();
|
||||
}
|
||||
|
||||
/**
|
||||
* @internal
|
||||
* @see Promise::settle()
|
||||
*/
|
||||
public function promise()
|
||||
{
|
||||
if (null === $this->promise) {
|
||||
try {
|
||||
$this->promise = resolve(\call_user_func($this->factory));
|
||||
} catch (\Throwable $exception) {
|
||||
$this->promise = new RejectedPromise($exception);
|
||||
} catch (\Exception $exception) {
|
||||
$this->promise = new RejectedPromise($exception);
|
||||
}
|
||||
}
|
||||
|
||||
return $this->promise;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user