@@ 37-48 (lines=12) @@ | ||
34 | * |
|
35 | * @return $this |
|
36 | */ |
|
37 | public function once(string $eventName, callable $listener) : self |
|
38 | { |
|
39 | $onceListener = function (EventInterface $event) use (&$onceListener, $eventName, $listener) { |
|
40 | $this->removeListener($eventName, $onceListener); |
|
41 | ||
42 | call_user_func($listener, $event); |
|
43 | }; |
|
44 | ||
45 | $this->on($eventName, $onceListener); |
|
46 | ||
47 | return $this; |
|
48 | } |
|
49 | ||
50 | /** |
|
51 | * @param string $eventName |
@@ 37-48 (lines=12) @@ | ||
34 | * |
|
35 | * @return $this |
|
36 | */ |
|
37 | public function once(string $event, callable $listener) : self |
|
38 | { |
|
39 | $onceListener = function () use (&$onceListener, $event, $listener) { |
|
40 | $this->removeListener($event, $onceListener); |
|
41 | ||
42 | call_user_func_array($listener, func_get_args()); |
|
43 | }; |
|
44 | ||
45 | $this->on($event, $onceListener); |
|
46 | ||
47 | return $this; |
|
48 | } |
|
49 | ||
50 | /** |
|
51 | * @param string $event |