debian man page for mojo::ioloop::delay

Query: mojo::ioloop::delay

OS: debian

Section: 3pm

Links: debian man pages   all man pages

Forums: forum home   forum categories

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

Mojo::IOLoop::Delay(3pm)				User Contributed Perl Documentation				  Mojo::IOLoop::Delay(3pm)

NAME
Mojo::IOLoop::Delay - Synchronize events
SYNOPSIS
use Mojo::IOLoop::Delay; # Synchronize multiple events my $delay = Mojo::IOLoop::Delay->new; $delay->on(finish => sub { say 'BOOM!' }); for my $i (1 .. 10) { $delay->begin; Mojo::IOLoop->timer($i => sub { say 10 - $i; $delay->end; }); } # Wait for events if necessary $delay->wait unless Mojo::IOLoop->is_running;
DESCRIPTION
Mojo::IOLoop::Delay synchronizes events for Mojo::IOLoop.
EVENTS
Mojo::IOLoop::Delay can emit the following events. "finish" $delay->on(finish => sub { my $delay = shift; ... }); Emitted safely once the active event counter reaches zero.
ATTRIBUTES
Mojo::IOLoop::Delay implements the following attributes. "ioloop" my $ioloop = $delay->ioloop; $delay = $delay->ioloop(Mojo::IOLoop->new); Loop object to control, defaults to the global Mojo::IOLoop singleton.
METHODS
Mojo::IOLoop::Delay inherits all methods from Mojo::EventEmitter and implements the following new ones. "begin" my $cb = $delay->begin; Increment active event counter, the returned callback can be used instead of "end". my $delay = Mojo::IOLoop->delay; Mojo::UserAgent->new->get('mojolicio.us' => $delay->begin); my $tx = $delay->wait; "end" $delay->end; $delay->end(@args); Decrement active event counter. "wait" my @args = $delay->wait; Start "ioloop" and stop it again once the "finish" event gets emitted, only works when "ioloop" is not running already. # Use the "finish" event to synchronize portably $delay->on(finish => sub { my ($delay, @args) = @_; ... }); $delay->wait unless $delay->ioloop->is_running;
SEE ALSO
Mojolicious, Mojolicious::Guides, <http://mojolicio.us>. perl v5.14.2 2012-09-05 Mojo::IOLoop::Delay(3pm)