diff --git a/src/Executor/Promise/Adapter/SyncPromiseAdapter.php b/src/Executor/Promise/Adapter/SyncPromiseAdapter.php index 35341b3..44ddf66 100644 --- a/src/Executor/Promise/Adapter/SyncPromiseAdapter.php +++ b/src/Executor/Promise/Adapter/SyncPromiseAdapter.php @@ -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) + { + } }