In Supply§
See primary documentation in context for method on-close.
method on-close(Supply:D: &on-close --> Supply:D)
Returns a new Supply
which will run &on-close
whenever a Tap
of that Supply
is closed. This includes if further operations are chained on to the Supply
. (for example, $supply.on-close(&on-close).map(*.uc)
). When using a react
or supply
block, using the CLOSE phaser is usually a better choice.
my $s = Supplier.new; my $tap = $s.Supply.on-close({ say "Tap closed" }).tap( -> $v { say "the value is $v" }, done => { say "Supply is done" }, quit => -> $ex { say "Supply finished with error $ex" }, ); $s.emit('Raku'); $tap.close; # OUTPUT: «Tap closed»