promise->then($wrappedOnFulfilled, $wrappedOnRejected); return $this; } public function getState(): string { $state = $this->promise->getState(); if ($state === PromiseInterface::FULFILLED) { return self::STATE_FULFILLED; } if ($state === PromiseInterface::REJECTED) { return self::STATE_REJECTED; } if ($state === PromiseInterface::PENDING) { return self::STATE_PENDING; } $this->logger->error('Unexpected promise state "{state}" returned by Guzzle', [ 'state' => $state, ]); return self::STATE_PENDING; } public function cancel(): void { $this->promise->cancel(); } public function wait(bool $unwrap = true): mixed { return $this->promise->wait($unwrap); } }