EvTimer::createStopped

(PECL ev >= 0.2.0)

EvTimer::createStopped创建已停止的 EvTimer 观察器对象

说明

final public static EvTimer::createStopped(
     float $after,
     float $repeat,
     callable $callback,
     mixed $data = null,
     int $priority = 0
): EvTimer

创建已停止的 EvTimer 观察器对象。与 EvTimer::__construct() 不同,此方法不会自动启动观察器。

参数

after

将计时器配置为在 after 秒后触发。

repeat

如果 repeat 为 0.0,则在超时到达后它将自动停止。如果它是正数,则计时器将自动配置为每隔 repeat 秒再次触发,直到手动停止。

callback

请参阅 观察器回调

data

与观察器关联的自定义数据。

priority

观察器优先级

返回值

成功时返回 EvTimer 观察器对象。

示例

示例 #1 监视 /var/log/messages 的更改。通过一秒钟的延迟避免错过更新

<?php
$timer
= EvTimer::createStopped(0., 1.02, function ($w) {
$w->stop();

$stat = $w->data;

// 在文件最近更改后 1 秒
printf("当前大小: %ld\n", $stat->attr()['size']);
});

$stat = new EvStat("/var/log/messages", 0., function () use ($timer) {
// 重置计时器观察器
$timer->again();
});

$timer->data = $stat;

Ev::run();
?>

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top