September 2017
Beginner
402 pages
9h 52m
English
The close method closes a channel. This means that no more data will be added to it. To check if the channel is closed, call the closed method:
my $channel = Channel.new();say 'Open' unless $channel.closed(); # Open$channel.close();say 'Closed' if $channel.closed(); # Closed
The return value of the closed method is not a Boolean value. Instead, the method returns a promise, which becomes kept after the channel closes:
my $channel = Channel.new();say $channel.closed().status(); # Planned$channel.close();say $channel.closed().status(); # Kept
The promise can be used, for example, to run some code in response to closing a channel, as shown in the following example:
my $channel = Channel.new();my $promise = $channel.closed(); ...