internal/promise
Lightweight Promises/A implementation for PHP (fork of reactphp/promise). PHP 8.1+ compatible with strict types and improved type annotations. Drop-in replacement for react/promise v2/v3 with reusable rejection handling and safer defaults.
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@yieldannotation in the PromiseInterfaceVersion 3.x specific:
- Replaces
react/promisev3 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/promisev2 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.
How can I help you explore Laravel packages today?