GraphQL::AsyncIterator - iterator objects that return promise to next result
use GraphQL::AsyncIterator; my $i = GraphQL::AsyncIterator->new( promise_code => $pc, ); # also works when publish happens before next_p called my $promised_value = $i->next_p; $i->publish('hi'); # now $promised_value will be fulfilled $i->close_tap; # now next_p will return undef
Encapsulates the asynchronous event-handling needed for the publish/subscribe behaviour needed by GraphQL::Subscription.
A hash-ref matching "PromiseCode" in GraphQL::Type::Library, which must provide the new key.
new
Resolves the relevant promise with @values.
@values
Rejects the relevant promise with @values.
Returns either a "Promise" in GraphQL::Type::Library of the next value, or undef when closed off. Do not call this if a previous promised next value has not been settled, as a queue is not maintained.
undef
The promise will have each of the sets of handlers added by "map_then" appended.
Switch to being closed off. "next_p" will return undef as soon as it runs out of "publish"ed values. "publish" will throw an exception. NB This will not cause the settling of any outstanding promise returned by "next_p".
Adds the handlers to this object's list of handlers, which will be attached to promises returned by "next_p". Returns self.
To install GraphQL, copy and paste the appropriate command in to your terminal.
cpanm
cpanm GraphQL
CPAN shell
perl -MCPAN -e shell install GraphQL
For more information on module installation, please visit the detailed CPAN module installation guide.