Manpage logo

IO::Async::Future - use Future with IO::Async

NAME  SYNOPSIS  DESCRIPTION  CONSTRUCTORS  METHODS  loop  done_later  fail_later  AUTHOR 

NAME

"IO::Async::Future" − use Future with IO::Async

SYNOPSIS

use Future::AsyncAwait;
use IO::Async::Loop;
my $loop = IO::Async::Loop−>new;
my $future = $loop−>new_future;
$loop−>watch_time( after => 3, code => sub { $future−>done( "Done" ) } );
print await( $future ), "\n";

DESCRIPTION

This subclass of Future stores a reference to the IO::Async::Loop instance that created it, allowing the "await" method to block until the Future is ready. These objects should not be constructed directly; instead the "new_future" method on the containing Loop should be used.

For a full description on how to use Futures, see the Future documentation.

CONSTRUCTORS

New "IO::Async::Future" objects should be constructed by using the following methods on the "Loop". For more detail see the IO::Async::Loop documentation.

$future = $loop−>new_future;

Returns a new pending Future.

$future = $loop−>delay_future( %args );

Returns a new Future that will become done at a given time.

$future = $loop−>timeout_future( %args );

Returns a new Future that will become failed at a given time.

METHODS

loop

$loop = $future−>loop;

Returns the underlying IO::Async::Loop object.

done_later

$future−>done_later( @result );

A shortcut to calling the "done" method in a "later" idle watch on the underlying Loop object. Ensures that a returned Future object is not ready immediately, but will wait for the next IO round.

Like "done", returns $future itself to allow easy chaining.

fail_later

$future−>fail_later( $exception, @details );

A shortcut to calling the "fail" method in a "later" idle watch on the underlying Loop object. Ensures that a returned Future object is not ready immediately, but will wait for the next IO round.

Like "fail", returns $future itself to allow easy chaining.

AUTHOR

Paul Evans <[email protected]>


Updated 2026-06-01 - jenkler.se | uex.se