1. Go to this page and download the library: Download co/promise library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
co / promise example snippets
namespace Moebius;
interface PromiseInterface {
/**
* Schedule a callback to run when the promise is fulfilled
* or rejected.
*
* @param callable $onFulfill Callback which will be invoked if the promise is fulfilled.
* @param callable $onReject Callback which will be invoked if the promise is rejected.
* @param callable $void Ignored; for compataiblity with other promise implementations.
* @return PromiseInterface Returns a new promise which is resolved with the return value of $onFulfill/$onReject
*/
public function then(callable $onFulfill=null, callable $onReject=null, callable $void=null): PromiseInterface;
/**
* Is the promise still pending resolution?
*/
public function isPending(): bool;
/**
* Is the promise fulfilled?
*/
public function isFulfilled(): bool;
/**
* Is the promise rejected?
*/
public function isRejected(): bool;
}
use Moebius\Promise;
$promise = Promise::cast($somePromise);
// Now you can safely check if the promise has been resolved
use Moebius\Promise;
if (Promise::isPromise($someObject)) {
// You can treat $someObject as a promise
}
$promise = Moebius\Promise::cast($otherPromise);
if (Moebius\Promise::isPromise($otherPromise)) {
// promise has a valid `then()` method
}
use Moebius\Promise;
function some_future_result() {
return new Promise(function($fulfill, $reject) {
/**
* Either fulfill the promise directly here, by calling
* the provided $fulfill(VALUE) and $reject(REASON) callbacks
* immediately, or make sure that one of these are called at
* a later time.
*/
});
}
use Moebius\Promise;
function some_future_result() {
$result = new Promise();
/**
* Make sure that the promise is resolved now, by calling
* `$result->resolve(VALUE)` or `$result->reject(REASON)`
* here, or make sure that one of them will be called in
* the future.
*/
return $result;
}
use Moebius\Promise;
function accepting_a_promise(object $thenable) {
/**
* @throws InvalidArgumentException if the object is not a promise
*/
$promise = Moebius\Promise::cast($thenable);
}
use Moebius\Promise;
function some_function() {
return new Promise(function($resolve, $reject) {
// This function is immediately run when constructing the promise
$resolve("Some value"); // or $reject(new Exception());
});
}
use Moebius\Promise;
$promise = new Promise();
// send the promise off to some function
some_function($promise);
// resolve it at any later time
$promise->resolve("Some value"); // or $promise->reject(new Exception())
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.