A lightweight implementation of CommonJS Promises/A for PHP.
Note
This is a fork of reactphp/promise.
Improvements over original reactphp/promise:
- PHP 8.1+ compatibility
declare(strict_types=1);
in all PHP files@yield
annotation in the PromiseInterface
Version 3.x specific:
- Replaces
react/promise
v3 in Composer - Rejection handler is reusable now.
error_log()
is still used by default. - Removed
exit(255)
from RejectionPromise.
Version 2.x specific:
- Replaces
react/promise
v2 in Composer - Enhanced type annotations
composer require internal/promise
To run the test suite, go to the project root and run:
composer test
On top of this, we use PHPStan on max level to ensure type safety across the project:
composer stan
This fork is based on reactphp/promise, which is a port of when.js by Brian Cavalier.
Also, large parts of the documentation have been ported from the when.js Wiki and the API docs.