Kraken\Event\AsyncEventEmitterTrait::attachTimesListener PHP Method

attachTimesListener() protected method

See also: BaseEventEmitterTrait::attachTimesListener
protected attachTimesListener ( $pointer, $event, $limit, callable $listener )
$listener callable
    protected function attachTimesListener($pointer, $event, $limit, callable $listener)
    {
        $emitter = $this;
        return function () use($emitter, $listener, $event, $pointer, &$limit) {
            if (--$limit === 0) {
                unset($limit);
                unset($emitter->eventListeners[$event][$pointer]);
            }
            $args = func_get_args();
            $this->getLoop()->onTick(function () use($listener, $args) {
                call_user_func_array($listener, $args);
            });
        };
    }