函数名:Swoole\Timer::after()
适用版本:Swoole 4.3.0+
用法:Swoole\Timer::after()函数用于在指定的时间后执行一个回调函数。
语法:Swoole\Timer::after(int $ms, callable $callback, ...$params): int|false
参数:
返回值:
示例:
<?php
// 定义一个回调函数
function myCallback($param1, $param2)
{
echo "Callback executed with parameters: $param1, $param2" . PHP_EOL;
}
// 延迟1秒后执行回调函数
$timerId = Swoole\Timer::after(1000, 'myCallback', 'Hello', 'World');
// 延迟2秒后取消定时器
Swoole\Timer::after(2000, function () use ($timerId) {
Swoole\Timer::clear($timerId);
echo "Timer $timerId cancelled" . PHP_EOL;
});
// 主动触发事件循环,使定时器生效
Swoole\Event::wait();
运行上述示例代码,1秒后会输出:Callback executed with parameters: Hello, World
。2秒后会输出:Timer 1 cancelled
。
在这个示例中,我们使用Swoole\Timer::after()函数创建了一个定时器,延迟1秒后执行了myCallback()回调函数,并传递了两个参数。同时,我们也创建了一个延迟2秒后取消定时器的回调函数。最后,通过Swoole\Event::wait()主动触发事件循环,使定时器生效。
注意事项: