Promise::XS::Promise(3pm)

NAME
Promise::XS::Promise - promise object

SYNOPSIS
See Promise::XS.

DESCRIPTION
This is Promise::XS’s actual promise object class. It implements these methods:

•   then()

•   catch()

•   finally()

… which behave as they normally do in promise implementations.

Additionally, all() and race() may be used, thus:

    my $p3 = Promise::XS::Promise->all( $p1, $p2, .. );
    my $p3 = Promise::XS::Promise->race( $p1, $p2, .. );

… or, just:

    my $p3 = ref($p1)->all( $p1, $p2, .. );
    my $p3 = ref($p1)->race( $p1, $p2, .. );

… or even:

    my $p3 = $p1->all( $p1, $p2, .. );
    my $p3 = $p1->race( $p1, $p2, .. );

(Note the repetition of $p1 in these last examples!)

NOTES
Subclassing this class won’t work because the above-named methods always return instances of (exactly) this class. That may change eventually, but for now this is what’s what.