Unix and Linux Discussions Tagged with finish |
|
Thread / Thread Starter |
Last Post |
Replies |
Views |
Forum |
|
|
|
2 |
7,578 |
UNIX for Beginners Questions & Answers |
|
|
|
1 |
7,090 |
Programming |
|
|
|
3 |
2,430 |
Shell Programming and Scripting |
|
|
|
1 |
2,423 |
UNIX for Advanced & Expert Users |
|
|
|
1 |
14,431 |
Shell Programming and Scripting |
|
|
|
2 |
2,186 |
UNIX for Dummies Questions & Answers |
|
|
|
7 |
5,520 |
UNIX for Dummies Questions & Answers |
|
|
|
10 |
11,915 |
UNIX for Dummies Questions & Answers |
|
|
|
3 |
2,781 |
UNIX for Dummies Questions & Answers |
|
|
|
2 |
8,080 |
UNIX for Advanced & Expert Users |
|
|
|
1 |
3,969 |
Programming |
|
|
|
6 |
13,591 |
UNIX for Dummies Questions & Answers |
|
|
|
1 |
15,114 |
UNIX for Dummies Questions & Answers |
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)