Документация Perl 5

Mojo::IOLoop::EventEmitter


NAME

Mojo::IOLoop::EventEmitter - IOLoop Event Emitter

SYNOPSIS

  use Mojo::IOLoop::EventEmitter;
     
  # Create new event emitter
  my $e = Mojo::IOLoop::EventEmitter->new;
     
  # Subscribe to events
  $e->on(error => sub {
    my ($self, $error) = @_;
    warn "Catched: $error";
  });
  $e->on(test => sub {
    my ($self, $message) = @_;
    die "test: $message";
  });
     
  # Emit events
  $e->emit(test => 'Hello!');

DESCRIPTION

Mojo::IOLoop::EventEmitter is the event emitter used by Mojo::IOLoop. Note that this module is EXPERIMENTAL and might change without warning!

METHODS

Mojo::IOLoop::EventEmitter inherits all methods from Mojo::Base and implements the following new ones.

emit

  $e->emit('foo');
  $e->emit('foo', 123);

Emit event.

on

  my $cb = $e->on(foo => sub {...});

Subscribe to event.

once

  my $cb = $e->once(foo => sub {...});

Subscribe to event and unsubscribe again after it has been emitted once.

subscribers

  my $subscribers = $e->subscribers('foo');

All subscribers for event.

unsubscribe

  $e->unsubscribe(foo => $cb);

Unsubscribe from event.

DEBUGGING

You can set the MOJO_EVENTEMITTER_DEBUG environment variable to get some advanced diagnostics information printed to STDERR.

  MOJO_EVENTEMITTER_DEBUG=1

SEE ALSO

Mojolicious, Mojolicious::Guides, http://mojolicio.us.