sub await
Documentation for sub await
assembled from the following types:
class Promise
From Promise
(Promise) sub await
multi sub await(Promise:D --> Promise) multi sub await(*@ --> Array)
Waits until one or more promises are all fulfilled, and then returns their values. Also works on channels. Any broken promises will rethrow their exceptions. If a list is passed it will return a list containing the results of awaiting each item in turn.
class Channel
From Channel
(Channel) sub await
Defined as:
multi sub await(Channel:D) multi sub await(*@)
Waits until all of one or more channels has a value available, and returns those values (it calls .receive
on the channel). Also works with promises.
my $c = Channel.new; Promise.in(1).then({$c.send(1)}); say await $c;
Since 6.d, it no longer blocks a thread while waiting.