Skip to content

Instantly share code, notes, and snippets.

@niczero
Forked from brianmed/interleave.pl
Last active June 22, 2016 08:58
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 niczero/ab2c950f6aa9b477ba16a16b7713f791 to your computer and use it in GitHub Desktop.
Save niczero/ab2c950f6aa9b477ba16a16b7713f791 to your computer and use it in GitHub Desktop.
#!/usr/bin/env perl
use Mojolicious::Lite;
use Mojo::IOLoop;
get '/' => sub {
my $c = shift;
my $log = $c->app->log;
Mojo::IOLoop->timer(1 => sub { $log->debug('one') });
Mojo::IOLoop->delay(
sub {
my ($delay) = @_;
my $next = $delay->begin;
Mojo::IOLoop->timer(0 => sub { $log->debug('zero'); $next->() });
},
sub {
my ($delay) = @_;
my $next = $delay->pass(2)->begin;
Mojo::IOLoop->timer(2 => sub { $log->debug('two'); $next->() });
},
sub {
my ($delay, $value) = @_;
my $next = $delay->pass(3)->begin;
Mojo::IOLoop->timer(1 => sub { $log->debug("three: $value"); $next->() });
},
sub {
my ($delay, $value) = @_;
my $next = $delay->pass(4)->begin;
Mojo::IOLoop->timer(1 => sub { $log->debug("four: $value"); $next->() });
},
sub {
my ($delay, $value) = @_;
$c->render(text => "Completed with value $value\n");
}
);
return $c->render_later;
};
app->secrets(['change me'])->start;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment