tleckie / async
异步和并行 PHP
1.0.6
2021-04-25 10:59 UTC
Requires
- php: ^8
- opis/closure: ^3.6
- symfony/process: ^5.2
Requires (Dev)
- friendsofphp/php-cs-fixer: v3.0.0-beta.2
- phpunit/phpunit: ^9.5
Suggests
- ext-pcntl: Required to use async processes
- ext-posix: Required to use async processes
README
安装
您可以通过 composer 安装此包
composer require tleckie/async
用法
<?php use Tleckie\Async\Async; $async = new Async(); foreach([1,2,3,4,5,6,7,8,9,10] as $value){ $async->add(static function() use($value){ sleep(1); return $value*2; })->then(static function($value){ var_dump($value); })->catch(static function(\Exception $exception){ var_dump($exception->getMessage()); }); } $async->wait();
捕获异常
<?php use Tleckie\Async\Async; $async = new Async(); $async->add(static function (){ throw new \Exception('Error...'); })->then(static function ($value) { })->catch(static function ($exception) { var_dump($exception); }); $async->wait();