diff options
Diffstat (limited to 'vendor/react/promise/src/ExtendedPromiseInterface.php')
-rw-r--r-- | vendor/react/promise/src/ExtendedPromiseInterface.php | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/vendor/react/promise/src/ExtendedPromiseInterface.php b/vendor/react/promise/src/ExtendedPromiseInterface.php new file mode 100644 index 0000000..13b6369 --- /dev/null +++ b/vendor/react/promise/src/ExtendedPromiseInterface.php @@ -0,0 +1,98 @@ +<?php + +namespace React\Promise; + +interface ExtendedPromiseInterface extends PromiseInterface +{ + /** + * Consumes the promise's ultimate value if the promise fulfills, or handles the + * ultimate error. + * + * It will cause a fatal error if either `$onFulfilled` or + * `$onRejected` throw or return a rejected promise. + * + * Since the purpose of `done()` is consumption rather than transformation, + * `done()` always returns `null`. + * + * @param callable|null $onFulfilled + * @param callable|null $onRejected + * @param callable|null $onProgress This argument is deprecated and should not be used anymore. + * @return void + */ + public function done(callable $onFulfilled = null, callable $onRejected = null, callable $onProgress = null); + + /** + * Registers a rejection handler for promise. It is a shortcut for: + * + * ```php + * $promise->then(null, $onRejected); + * ``` + * + * Additionally, you can type hint the `$reason` argument of `$onRejected` to catch + * only specific errors. + * + * @param callable $onRejected + * @return ExtendedPromiseInterface + */ + public function otherwise(callable $onRejected); + + /** + * Allows you to execute "cleanup" type tasks in a promise chain. + * + * It arranges for `$onFulfilledOrRejected` to be called, with no arguments, + * when the promise is either fulfilled or rejected. + * + * * If `$promise` fulfills, and `$onFulfilledOrRejected` returns successfully, + * `$newPromise` will fulfill with the same value as `$promise`. + * * If `$promise` fulfills, and `$onFulfilledOrRejected` throws or returns a + * rejected promise, `$newPromise` will reject with the thrown exception or + * rejected promise's reason. + * * If `$promise` rejects, and `$onFulfilledOrRejected` returns successfully, + * `$newPromise` will reject with the same reason as `$promise`. + * * If `$promise` rejects, and `$onFulfilledOrRejected` throws or returns a + * rejected promise, `$newPromise` will reject with the thrown exception or + * rejected promise's reason. + * + * `always()` behaves similarly to the synchronous finally statement. When combined + * with `otherwise()`, `always()` allows you to write code that is similar to the familiar + * synchronous catch/finally pair. + * + * Consider the following synchronous code: + * + * ```php + * try { + * return doSomething(); + * } catch(\Exception $e) { + * return handleError($e); + * } finally { + * cleanup(); + * } + * ``` + * + * Similar asynchronous code (with `doSomething()` that returns a promise) can be + * written: + * + * ```php + * return doSomething() + * ->otherwise('handleError') + * ->always('cleanup'); + * ``` + * + * @param callable $onFulfilledOrRejected + * @return ExtendedPromiseInterface + */ + public function always(callable $onFulfilledOrRejected); + + /** + * Registers a handler for progress updates from promise. It is a shortcut for: + * + * ```php + * $promise->then(null, null, $onProgress); + * ``` + * + * @param callable $onProgress + * @return ExtendedPromiseInterface + * @deprecated 2.6.0 Progress support is deprecated and should not be used anymore. + */ + public function progress(callable $onProgress); +} |