牛牛在线工具

Swoole\Timer::after()

收录 8868 个 PHP 函数,含用途说明与用法示例。

Swoole\Timer::after()

在指定的时间后执行一个回调函数

函数名:Swoole\Timer::after() 适用版本:Swoole 4.3.0+ 用法:Swoole\Timer::after()函数用于在指定的时间后执行一个回调函数。 语法:Swoole\Timer::after(int $ms, callable $callback, ...$params): int|false 参数: $ms:延迟执行的时间,单位为毫秒。 $callback:延迟执行的回调函数,可以是匿名函数或者一个已存在的函数。 ...$params:可选参数,传递给回调函数的参数。 返回值: 成功时,返回一个定时器ID,可以用于取消定时器。 失败时,返回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()主动触发事件循环,使定时器生效。 注意事项: Swoole\Timer::after()函数必须在Swoole的事件循环中调用,否则定时器将不会生效。 可以使用Swoole\Timer::clear()函数取消定时器,传入定时器ID作为参数。