| @@ 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 |
|