
EvTimer::after와 EvTimer::repeat의 차이점은 callback function의 호출 횟수와 timer의 재설정 여부에 있습니다.
EvTimer::after를 사용할 때, timer가 expire되면 callback function이 한 번 호출되고, timer는 재설정되지 않습니다. 따라서 callback function은 다시 호출되지 않습니다.
EvTimer::repeat를 사용할 때, timer가 expire되면 callback function이 호출되고, timer는 재설정되어 반복적으로 호출됩니다. 이때, callback function은 다시 호출됩니다.
예를 들어, EvTimer::after를 사용하여 5초마다 callback function을 호출하고 싶다면, timer를 5초마다 재설정하지 않으면 callback function은 다시 호출되지 않습니다. 반면, EvTimer::repeat를 사용하여 5초마다 callback function을 호출하고 싶다면, timer를 5초마다 재설정하여 callback function이 반복적으로 호출되도록 합니다.
#hostingforum.kr
php
// EvTimer::after 예제
$timer = new EvTimer(5, 0, function(EvLoop $loop, $timer) {
echo "Callback function calledn";
$timer->stop();
});
// EvTimer::repeat 예제
$timer = new EvTimer(5, 0, function(EvLoop $loop, $timer) {
echo "Callback function calledn";
$timer->again(5); // timer를 재설정하여 callback function이 반복적으로 호출되도록 함
});
이러한 예제를 통해 EvTimer::after와 EvTimer::repeat의 차이점을 이해할 수 있습니다.
2025-04-26 11:10