Skip to content

Instantly share code, notes, and snippets.

@nicomen
Last active December 13, 2017 20:55
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 nicomen/76239cf63f812f33cd2ac73c70a350d4 to your computer and use it in GitHub Desktop.
Save nicomen/76239cf63f812f33cd2ac73c70a350d4 to your computer and use it in GitHub Desktop.
promise recovery
$ perl -Ilib -wle 'use Mojo::Promise; for my $die (qw/0 1/) { warn "$die\n"; my $p = Mojo::Promise->new; $p->then(sub { die if $die; })->then(sub { return "survived"; }, sub { return "died"; })->then(sub { print shift . " but recovered" }); $p->resolve; $p->wait; }'
0
survived but recovered
1
died but recovered
vs
$ perl -Ilib -wle 'use Mojo::Promise; for my $die (qw/0 1/) { warn "$die\n"; my $p = Mojo::Promise->new; $p->then(sub { die if $die; })->then(sub { return "survived"; }, sub { die "died"; })->then(sub { print shift . " but recovered" }, sub { print "died but not recovered" }); $p->resolve; $p->wait; }'
0
survived but recovered
1
died but not recovered
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment