Server->defer

最后更新于:2022-04-02 06:20:08

# Server->defer [TOC] 延后执行一个`PHP`函数。底层会在`EventLoop`循环完成后执行此函数。此函数的目的是为了让一些`PHP`代码延后执行,程序优先处理`IO`事件。底层不保证`defer`的函数会立即执行,如果是系统关键逻辑,需要尽快执行,请使用`after`定时器实现。 ~~~ function Server->defer(callable $callback); ~~~ * `defer`函数的别名是`swoole_event_defer` * `$callback`为可执行的函数变量,可以是字符串、数组、匿名函数 * 在`onWorkerStart`回调中执行`defer`时,必须要等到有事件发生才会回调 > `defer`函数在`1.8.0`或更高版本可用 ## 使用实例 ~~~ function query($server, $db) { $server->defer(function() use ($db) { $db->close(); }); } ~~~
';