查詢

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函式
分享連結