Size: a a a

2020 December 23

W

Warstone in Modern::Perl
Cv андефните
источник

SZ

Sergey Zhmylove in Modern::Perl
Я видимо с утра очень туплю, но по-моему верхняя и нижняя ветки не различаются. Можно вообще одну убрать и убрать if
источник

W

Warstone in Modern::Perl
Тупишь. Идет проверка как передается dbh. Или через cv или через глрбальную переменную
источник

SZ

Sergey Zhmylove in Modern::Perl
Warstone
Тупишь. Идет проверка как передается dbh. Или через cv или через глрбальную переменную
Где проверка?
Я не вижу разницы в выполнении: он в любом случае дождется cv к концу условия. Не вижу смысла в том if вообще.

ЗЫ то, что dbh в одном случае через cv передастся -- это ясно, со всеми эффектами. Но зачем писать такой if когда обе ветки фактически одинаковые...
источник

W

Warstone in Modern::Perl
В первом случае dbh не отдается в cv. Это то что он тестирует. У него, очевидно, утечка со 2м случаем где-то
источник

AK

Andrey Konovalov in Modern::Perl
Warstone
В первом случае dbh не отдается в cv. Это то что он тестирует. У него, очевидно, утечка со 2м случаем где-то
Всё так. И совет сделать undef $cv сработал! Вот только я вообще не врубаюсь, а почему?
источник

AK

Andrey Konovalov in Modern::Perl
$cv->recv может возвращать результат несколько раз? Сейчас проверю...
источник

W

Warstone in Modern::Perl
Потому что гладиолус. В том смысле что так сделано. Почему - не знаю. Не пользую АЕ
источник

AK

Andrey Konovalov in Modern::Perl
OMG. Да, именно в этом и была проблема :(
источник

AK

Andrey Konovalov in Modern::Perl
Это просто гениально. Ну ладно, век живи- век учись конечно.
источник

AK

Andrey Konovalov in Modern::Perl
Видимо, для того и $cv = AE::cv нужно постоянно делать.
источник

W

Warstone in Modern::Perl
Или перейти на конкретный луп
источник

W

Warstone in Modern::Perl
cv это самая непонятная хрень из всего ае, как мне помнится.
источник

b

basiliscos in Modern::Perl
вообще в AE, обычная практика в колбэках делать undef $что-то как раз для того чтобы замыкать и размыкать по событию
источник

b

basiliscos in Modern::Perl
Warstone
cv это самая непонятная хрень из всего ае, как мне помнится.
Это недо-promise. Некомпозицируется нормально, в отличие от Future. Не советую использовать, или сразу же оборачивать в Future
источник

W

Warstone in Modern::Perl
basiliscos
Это недо-promise. Некомпозицируется нормально, в отличие от Future. Не советую использовать, или сразу же оборачивать в Future
Мой опыт с ае - 2 скрипта 5 лет назад.
источник

YK

Yegor K in Modern::Perl
в AE для композиции обычно хватает $cv->begin/end
может не так сахарно, но гибкости больше
источник

AP

Anton Petrusevich in Modern::Perl
Warstone
cv это самая непонятная хрень из всего ае, как мне помнится.
потому, что нормально работает только при подключении коро
источник

b

basiliscos in Modern::Perl
Yegor K
в AE для композиции обычно хватает $cv->begin/end
может не так сахарно, но гибкости больше
fail- (else), а так же always-семантики невыразимы через cv.
источник

AP

Anton Petrusevich in Modern::Perl
cv отлично работает с коро. без коро он действительно не очень полезен
источник