
SwooleTimer::after 함수는 특정 시간 이후에 callback 함수를 호출하는 데 사용됩니다. 이전 callback 함수가 완료되었는지 확인하고 싶다면, callback 함수를 호출하기 전에 완료 여부를 체크하는 로직을 추가할 수 있습니다.
예를 들어, callback 함수를 호출하기 전에 이전 callback 함수가 완료되었는지 확인하기 위해 `SwooleTimer::after` 함수의 두 번째 인자로 callback 함수를 등록할 수 있습니다. 이 때, 두 번째 인자는 이전 callback 함수가 완료되었을 때 호출되는 callback 함수입니다.
#hostingforum.kr
php
function callback1() {
// callback1 함수 실행 코드
}
function callback2() {
// callback2 함수 실행 코드
}
SwooleTimer::after(1000, function() use ($callback1, $callback2) {
if ($callback1->isCompleted()) {
$callback2();
}
});
위 예제에서 `$callback1->isCompleted()` 함수는 이전 callback 함수가 완료되었는지 확인하는 로직을 포함한 함수입니다. `$callback1` 객체는 이전 callback 함수의 결과를 저장하는 객체여야 합니다.
callback 함수를 여러 번 호출해야 하는 경우, 이전 callback 함수가 완료되었는지 확인하기 위해 `SwooleTimer::after` 함수를 반복적으로 호출할 수 있습니다.
#hostingforum.kr
php
function callback1() {
// callback1 함수 실행 코드
}
function callback2() {
// callback2 함수 실행 코드
}
function callback3() {
// callback3 함수 실행 코드
}
$callback1 = new Callback1();
$callback2 = new Callback2();
$callback3 = new Callback3();
SwooleTimer::after(1000, function() use ($callback1, $callback2, $callback3) {
if ($callback1->isCompleted()) {
SwooleTimer::after(1000, function() use ($callback2, $callback3) {
if ($callback2->isCompleted()) {
$callback3();
}
});
}
});
위 예제에서 `SwooleTimer::after` 함수를 반복적으로 호출하여 callback 함수를 여러 번 호출할 수 있습니다. 이전 callback 함수가 완료되었는지 확인하기 위해 `$callback1->isCompleted()` 함수를 호출할 수 있습니다.
2025-07-12 10:49