modassir / promise
The PHP Promise for handling PHP promises with additional utilities and features.
Fund package maintenance!
Youtube
Patreon
Github
Opencollective
Requires
- php: ^7.2 || ^8.0
README
Composer Installation
Installation is super-easy via Composer
composer require modassir/promise
or add it by hand to your composer.json
file.
Getting Started
use Modassir\Promise\Promise; (new Promise(function($resolve, $reject) { $resolve('success'); $reject('An error accurred.'); }))->then(function($res) { // echo : 'success' })->catch(function() { })->finally(function() { // echo: strtoupper('Hello Worlds!'); }); (new Promise(function($resolve, $reject) { $reject('An error accurred.'); $resolve('success'); }))->then(function() { })->catch(function($res) { // echo: 'An error accurred.' })->finally(function() { // echo: strtoupper('Hello Worlds!'); }); (new Promise(function($resolve, $reject) { call_undfined_function(); $resolve('success'); $reject('An error accurred.'); }))->then(function() { })->catch(function($res) { $res->getMessage(); // Output: Call to undefined function call_undfined_function() $res->getCode(); // Output: 0 $res->getLine(); // Output: 8 $res->getFile(); // Output: C:\xampp\htdocs\promise\index.php $res->getTraceAsString(); // Output: #1 C:\xampp\htdocs\promise\index.php(9): Modassir\Promise\Promise->__construct(Object(Closure)) })->finally(function() { // echo: strtoupper('Hello Worlds!'); });
OR
use Modassir\Promise\Promise; $promise = new Promise(function($resolve, $reject) { $resolve('success'); $reject('An error accurred.'); }); $promise->then(function($res) { // echo : 'success' })->catch(function() { })->finally(function() { // echo: strtoupper('Hello Worlds!'); }); $promise = new Promise(function($resolve, $reject) { call_undfined_function(); $resolve('success'); $reject('An error accurred.'); }); $promise->then(function() { })->catch(function($res) { $res->getMessage(); // Output: Call to undefined function call_undfined_function() $res->getCode(); // Output: 0 $res->getLine(); // Output: 8 $res->getFile(); // Output: C:\xampp\htdocs\promise\index.php $res->getTraceAsString(); // Output: #1 C:\xampp\htdocs\promise\index.php(9): Modassir\Promise\Promise->__construct(Object(Closure)) })->finally(function() { // echo: strtoupper('Hello Worlds!'); });