Skip to content

Instantly share code, notes, and snippets.

@tempire
Last active August 29, 2015 13:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tempire/9158614 to your computer and use it in GitHub Desktop.
Save tempire/9158614 to your computer and use it in GitHub Desktop.
Mojo::IOLoop->delay->steps(
named_serial_step => sub { ... },
named_serial_step2 => sub {
my $delay = shift;
$something ? $delay->pass : $delay->skip_to('named_serial_step3');
},
{
named_concurrent_step1 => sub {
my $delay = shift;
Mojo::IOLoop->timer(3 => sub { $delay->pass(-c1) });
},
named_concurrent_step2 => sub {
my $delay = shift;
Mojo::IOLoop->timer(3 => sub { $delay->pass(-c2) });
},
named_concurrent_step3 => sub {
my $delay = shift;
Mojo::IOLoop->timer(3 => sub { $delay->pass(-c3) });
}
},
# Called after 3 seconds
named_serial_step3 => sub {
my ($delay, $c1, $c2, $c3) = @_;
Mojo::IOLoop->timer(3 => $delay->begin);
},
named_serial_step4 => sub { ... }
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment