Mojo::IOLoop::Delay - Synchronize events
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 $delay->wait;
Mojo::IOLoop::Delay synchronizes events for Mojo::IOLoop. Note that this module is EXPERIMENTAL and might change without warning!
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.
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.
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.
end
my $delay = Mojo::IOLoop->delay; Mojo::UserAgent->new->get('mojolicio.us' => $delay->begin); my $tx = $delay->wait;
$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.
Mojolicious, Mojolicious::Guides, http://mojolicio.us.
To install Mojolicious, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Mojolicious
CPAN shell
perl -MCPAN -e shell install Mojolicious
For more information on module installation, please visit the detailed CPAN module installation guide.