X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fseekat;a=blobdiff_plain;f=lib%2FAPI%2FFuture%2FReact2.php;fp=lib%2FAPI%2FFuture%2FReact2.php;h=6cd27a367910059e1720cebd024f77e02a86275c;hp=0000000000000000000000000000000000000000;hb=654d736df2c46ec2520f73e9089d06a44f2b9c50;hpb=2121556150be871684b5046af7cf250b8219128d diff --git a/lib/API/Future/React2.php b/lib/API/Future/React2.php new file mode 100644 index 0000000..6cd27a3 --- /dev/null +++ b/lib/API/Future/React2.php @@ -0,0 +1,42 @@ +cancellations[$context->promise()] = $context->promise()->cancel(...); + } + return $context; + } + + function handlePromise(object $promise, callable $onResult = null, callable $onError = null) : React\Promise\PromiseInterface { + return $promise->then($onResult, $onError); + } + + function reject(mixed $reason) : object { + $context = $this->createContext(); + $context->reject($reason); + return $context->promise(); + } + + function rejecter(object $context) : \Closure { + return function($reason) use($context) { + $context->reject($reason); + }; + } + + /** + * @param array $promises + * @return React\Promise\PromiseInterface + */ + function all(array $promises) : React\Promise\PromiseInterface { + return React\Promise\all($promises); + } +}