September 2017
Beginner
402 pages
9h 52m
English
The two methods from the Promise class, anyof and allof, create a new promise that is kept when either any of the promises are kept or all of them are kept. The methods accept a list of promises.
Let us illustrate the work of the anyof method on the following example, that checks if the long-running code is executing too long:
my $timeout = Promise.in(2).then({ say 'Timeout'});my $long_code = start { sleep 3; say 'Work done';};await Promise.anyof($timeout, $long_code);say 'Continuing';
Two promises are created. The $timeout one is kept in 2 seconds after its creation. The $long_code imitates the slow part of the code, which executes longer than the timer can wait. Then, both promises are passed to the Promise.anyof ...