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/9146042 to your computer and use it in GitHub Desktop.
Save tempire/9146042 to your computer and use it in GitHub Desktop.
delay remaining use case
my $ua = Mojo::UserAgent->new;
my $async1 = sub {
my $delay = shift;
$ua->get('http://api1?do_this=1' => sub { $delay->begin(0)->(pop->res->json) });
};
my $async2 = sub {
my $delay = shift;
$ua->get('http://api2?do_that=1' => sub { $delay->begin(0)->(pop->res->json) });
};
Mojo::IOLoop->delay->steps(
sub {
my $delay = shift;
$ua->get('http://api' => sub {
push @{$delay->remaining} => pop->res->json('/this') ? $async1 : $async2;
$delay->begin(0)->();
});
}
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment