Created
May 28, 2011 06:41
-
-
Save Meettya/996671 to your computer and use it in GitHub Desktop.
EnyAvent example
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env perl | |
use v5.14; | |
use warnings; | |
use AnyEvent::CouchDB; | |
use Data::Dump 'pp'; | |
my $couch = couch('http://localhost:5984/'); | |
my $db = couchdb('open_notice'); | |
my $id = '814ad291d609ed83876aaeb7b40032d9'; | |
my $w ; $w = AE::cv; | |
# Calling cb allow you to set a callback that will run when results are available. | |
$db->open_doc($id)->cb(sub { | |
my ($cv) = @_; | |
$w->send($cv->recv); | |
}); | |
my $data = $w->recv; # enters "main loop" till $condvar gets ->send | |
say pp($data); | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Что ты имеешь в виду "профит"? Реально запрос к данным делается из функции http_request внутри AnyEvent::HTTP , ну и если сделать трейс можно найти конкретное место где сокет открывается и добавляется в асинхронную слушалку событий, где данные начинают отправляться, где данные начинают прибывать и где все прибывшие данные выпихиваются в callback, который ты задаёшь.