
스웨일 코루틴에서 콜백 함수를 여러 개 호출해야 할 때, `call_user_func` 함수를 사용하는 방법은 다음과 같습니다.
#hostingforum.kr
php
$coroutine = new SwooleCoroutine();
$callbacks = [
'callback1' => function() { echo "Callback 1n"; },
'callback2' => function() { echo "Callback 2n"; },
];
foreach ($callbacks as $name => $callback) {
$coroutine->task(function() use ($name, $callback) {
call_user_func($callback);
});
}
위 예제에서 `foreach` 문을 사용하여 콜백 함수를 하나씩 호출합니다.
또는 `call_user_func_array` 함수를 사용하여 여러 콜백 함수를 한번에 호출할 수 있습니다.
#hostingforum.kr
php
$coroutine = new SwooleCoroutine();
$callbacks = [
'callback1' => function() { echo "Callback 1n"; },
'callback2' => function() { echo "Callback 2n"; },
];
$coroutine->task(function() use ($callbacks) {
call_user_func_array('array_map', [$callbacks, 'call_user_func']);
});
위 예제에서 `array_map` 함수를 사용하여 콜백 함수를 여러 개 호출합니다.
또는 `array_reduce` 함수를 사용하여 콜백 함수를 여러 개 호출할 수 있습니다.
#hostingforum.kr
php
$coroutine = new SwooleCoroutine();
$callbacks = [
'callback1' => function() { echo "Callback 1n"; },
'callback2' => function() { echo "Callback 2n"; },
];
$coroutine->task(function() use ($callbacks) {
call_user_func_array('array_reduce', [$callbacks, 'call_user_func']);
});
위 예제에서 `array_reduce` 함수를 사용하여 콜백 함수를 여러 개 호출합니다.
이러한 방법을 사용하여 스웨일 코루틴에서 콜백 함수를 여러 개 호출할 수 있습니다.
2025-07-06 23:37