Advertisement
Guest User

Untitled

a guest
Jan 29th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 0.37 KB | None | 0 0
  1. sub any {
  2.   my ($class, @promises) = @_;
  3.  
  4.   my $any = $class->new;
  5.  
  6.   my $rejections = [];
  7.   my $remaining = scalar @promises;
  8.  
  9.   for my $i (0 .. $#promises) {
  10.     $promises[$i]->then(
  11.       sub { $any->resolve(@_) },
  12.       sub {
  13.         $rejections[$i] = [ @_ ];
  14.         $any->reject(@$rejections) if --$remaining <= 0;
  15.       }
  16.     );
  17.   }
  18.  
  19.   return $any;
  20. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement