modassir/promise

The PHP Promise for handling PHP promises with additional utilities and features.

v3.0.1 2024-11-14 12:26 UTC

This package is auto-updated.

Last update: 2024-11-15 12:24:23 UTC


README

Promise

Total Downloads Latest Version

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!');
});

Resources