*/
function resolver(Future $future, $context) {
return function($value) use($future, $context) {
- return $future->resolve($context, $value);
+ $future->resolve($context, $value);
};
}
*/
function rejecter(Future $future, $context) {
return function($reason) use($future, $context) {
- return $future->reject($context, $reason);
+ $future->reject($context, $reason);
};
}
return $promise->then($onResult, $onError);
}
- function cancelPromise($promise) : bool {
+ function cancelPromise($promise) {
/* @var $promise \React\Promise\Promise */
$promise->cancel();
- return true;
}
function resolve($context, $value) {
* @return AmpDeferred
*/
function createContext(callable $onCancel = null) {
- return new AmpDeferred();
+ $context = new AmpDeferred();
+ /** @noinspection PhpUndefinedFieldInspection */
+ $context->promise()->cancel = function() use($onCancel, $context) {
+ $onCancel();
+ };
+ return $context;
}
function getPromise($context) {
return $promise;
}
- function cancelPromise($promise) : bool {
- return false;
+ function cancelPromise($promise) {
+ /** @var $promise AmpPromise */
+ /** @noinspection PhpUndefinedFieldInspection */
+ ($promise->cancel)();
}
function resolve($context, $value) {
}
function all($context, array $promises) {
- return \Amp\all($promises);
+ return \Amp\Promise\all($promises);
}
};
}