Add hooks to helps promise completion with custom backend

This commit is contained in:
Jeremiah VALERIE 2017-08-18 16:18:48 +02:00
parent 9d150c7702
commit 1c143360ca

View File

@ -126,6 +126,7 @@ class SyncPromiseAdapter implements PromiseAdapter
*/
public function wait(Promise $promise)
{
$this->beforeWait($promise);
$dfdQueue = Deferred::getQueue();
$promiseQueue = SyncPromise::getQueue();
@ -135,6 +136,7 @@ class SyncPromiseAdapter implements PromiseAdapter
) {
Deferred::runQueue();
SyncPromise::runQueue();
$this->onWait($promise);
}
/** @var SyncPromise $syncPromise */
@ -148,4 +150,22 @@ class SyncPromiseAdapter implements PromiseAdapter
throw new InvariantViolation("Could not resolve promise");
}
/**
* Execute just before starting to run promise completion
*
* @param Promise $promise
*/
protected function beforeWait(Promise $promise)
{
}
/**
* Execute while running promise completion
*
* @param Promise $promise
*/
protected function onWait(Promise $promise)
{
}
}