mirror of
https://github.com/danog/amp.git
synced 2024-12-12 09:29:45 +01:00
25 lines
547 B
PHP
25 lines
547 B
PHP
<?php
|
|
|
|
require __DIR__ . '/../vendor/autoload.php';
|
|
|
|
use Amp\CancelledException;
|
|
use Amp\TimeoutCancellation;
|
|
use function Amp\async;
|
|
use function Amp\delay;
|
|
|
|
$future = async(function () {
|
|
delay(1);
|
|
|
|
print 'Operation complete.' . PHP_EOL;
|
|
});
|
|
|
|
try {
|
|
// This won't cancel the actual operation, but just the await operation
|
|
$future->await(new TimeoutCancellation(0.5));
|
|
} catch (CancelledException) {
|
|
echo 'Await operation has been cancelled.' . PHP_EOL;
|
|
}
|
|
|
|
// We can still await again at a later point in time
|
|
$future->await();
|