EvTimer::__constructКонструктор объекта наблюдателя EvTimer
&reftitle.description;
publicEvTimer::__constructfloatafterfloatrepeatcallablecallbackmixeddata&null;intpriority0
Конструктор объекта наблюдателя EvTimer.
&reftitle.parameters;
after
Настраивает таймер для запуска через
after секунд.
repeat
Если время повтора равно 0.0,
то он будет автоматически остановлен после истечения времени ожидания.
Если положительное, таймер будет автоматически настроен на повторный запуск
каждые повторяющиеся секунды, пока не будет остановлен вручную.
callback
Смотрите
Наблюдатели callback-функций
.
data
Пользовательские данные, связанные с наблюдателем.
priority
Приоритет наблюдателя
&reftitle.examples;
Простые таймеры
stop();
// Останавливаем наблюдателя, если дальнейшие вызовы вызовут более 10 итераций
Ev::iteration() >= 10 and $w->stop();
});
// Создаём остановленный таймер. Он будет неактивным, пока мы не запустим его сами
$w_stopped = EvTimer::createStopped(10, 5, function($w) {
echo "Callback-функция таймера, созданного как остановленный\n";
// Останавливаем наблюдателя после 2 итераций
Ev::iteration() >= 2 and $w->stop();
});
// Цикл до вызова Ev::stop() или остановки всех наблюдателей
Ev::run();
// Запускаем и смотрим, работает ли он
$w_stopped->start();
echo "Запустили одну итерацию\n";
Ev::run(Ev::RUN_ONCE);
echo "Перезапустили второй наблюдатель и пробуем обработать те же события, но не блокируем\n";
$w2->again();
Ev::run(Ev::RUN_NOWAIT);
$w = new EvTimer(10, 0, function() {});
echo "Запуск заблокированного цикла\n";
Ev::run();
echo "END\n";
?>
]]>
&example.outputs.similar;
&reftitle.seealso;
EvTimer::createStoppedEvPeriodic
ev_timer - относительное и необязательно повторяющееся время ожидания
Будьте осторожны со временем ожидания