English | 简体中文 | 繁體中文
查询

EvLoop::timer()函数—用法及示例

「 创建一个定时器并将其添加到事件循环中 」


函数名: EvLoop::timer()

适用版本: PHP 5 >= 5.4.0, pecl ev >= 0.2.0

函数描述: 创建一个定时器并将其添加到事件循环中。

用法: EvWatcher EvLoop::timer ( double $after , double $repeat , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

参数:

  • $after: 定时器在多长时间后触发第一次执行回调函数(以秒为单位)。可以为小数,表示以毫秒为单位。
  • $repeat: 定时器重复执行的间隔时间(以秒为单位)。可以为小数,表示以毫秒为单位。如果为0,则只执行一次。
  • $callback: 定时器触发时要执行的回调函数。
  • $data (可选): 传递给回调函数的附加数据。
  • $priority (可选): 定时器的优先级,默认为0。数值越小,优先级越高。

返回值: 返回一个EvWatcher对象,可以用于取消或修改定时器。

示例:

$loop = new EvLoop();

// 创建定时器
$timer = $loop->timer(2, 1, function ($watcher, $revents) {
    echo "定时器触发\n";
});

// 开始事件循环
$loop->run();

// 取消定时器
$timer->stop();

在上面的示例中,我们创建了一个定时器,在2秒后首次触发,之后每隔1秒触发一次。回调函数只是简单地打印出一条消息。然后我们启动了事件循环,并通过调用stop()方法来停止定时器的执行。

补充纠错
上一个函数: EvLoop::verify()函数
下一个函数: EvLoop::__construct()函数
热门PHP函数
分享链接