<?php
use function Icicle\Loop\run;
use Icicle\Awaitable\Promise;
use Icicle\Awaitable\Deferred;
$deferred = new Deferred();
$promise1 = $deferred->getPromise();
$promise2 = $promise1->then(
function ($int) {
echo 'promise 2' . PHP_EOL;
if (14 === $int) {
throw new Exception($int);
}
return $int;
}
);
$promise2->done(
function ($int) {
echo 'promise done:' . PHP_EOL;
echo $int;
},
function (Exception $exception) {
echo 'Error: '. $exception->getMessage();
}
);
$deferred->resolve(1);
run();