tsiura / promise-watcher
一个用于异步、基于promise的对象监视的PHP库
1.0
2024-06-18 16:28 UTC
Requires
- php: >=8.3
- psr/log: ^3.0
- react/event-loop: ^1.5
- react/promise: ^3.2
Requires (Dev)
- phpstan/phpstan: ^1.11
- phpunit/phpunit: ^10.5
- squizlabs/php_codesniffer: ^3.10
- vimeo/psalm: ^5.24
README
一个用于异步、基于promise的对象监视的PHP库。
基本用法示例
class EvalObjNum implements EvaluatedObjectInterface
{
public function __construct(
private readonly int $value,
) {
}
public function __toString(): string
{
return sprintf('%s', $this->value);
}
public function evaluate(mixed $object): bool
{
return (is_numeric($object) && $object == $this->value);
}
}
$watcher = new ObjectWatcher(Loop::get());
$w1 = $watcher->createWatching(new EvalObjNum(10), 1);
$w1->start()
->then(function ($value) {
echo sprintf('Evaluated successfully with value ' . $value) . PHP_EOL;
}, function (\Throwable $e) { echo $e->getMessage() . PHP_EOL; });
$watcher->evaluate(11);