[Moscow.pm] AnyEvent condvar - reuse not possible?
Denis Ibaev
dionys на gmail.com
Ср Ноя 20 09:42:26 PST 2013
Для исключения вложенности есть AnyEvent::Delay и AnyEvent::Delay::Simple.
20 ноября 2013 г., 21:25 пользователь Maxim <monk на nuked.su> написал:
> С точки зрения стилистики программизма на АЕ было бы правильнее писать
> тот же функционал (последовательное выполнение двух действий) примерно
> так:
>
> use AnyEvent;
>
> my $cv = AE::cv;
>
> my ($t1, $t2);
> $t1 = AE::timer 1, 0, sub {
> warn "1st timer fired";
> undef $t1;
> $t2= AE::timer (1, 0, sub {
> undef $t2;
> warn "2nd timer fired";
> $cv->send;
> });
> };
>
> $cv->recv;
>
> Или, во избежание вложенности, так
>
> use AnyEvent;
>
> my $cv = AE::cv;
>
> my ($t1, $t2);
> my $fired2; $fired2=sub {
> undef $t2;
> warn "2nd timer fired";
> $cv->send;
> };
> my $fired1;$fired1= sub {
> warn "1st timer fired";
> undef $t1;
> $t2= AE::timer 1, 0, $fired2;
> };
>
> $t1 = AE::timer 1, 0, $fired1;
>
> $cv->recv;
>
--
Денис Ибаев
Подробная информация о списке рассылки Moscow-pm