From 928a3d6ad4ca39ce913d3df162c56570a8aade4b Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Thu, 10 Sep 2020 20:48:24 +0200 Subject: do not propagate promises where they don't belong --- lib/DBInfoscreen/Helper/HAFAS.pm | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'lib') diff --git a/lib/DBInfoscreen/Helper/HAFAS.pm b/lib/DBInfoscreen/Helper/HAFAS.pm index d5d9a66..6c54a51 100644 --- a/lib/DBInfoscreen/Helper/HAFAS.pm +++ b/lib/DBInfoscreen/Helper/HAFAS.pm @@ -92,12 +92,14 @@ sub get_json_p { $cache->freeze( $url, $json ); $promise->resolve($json); + return; } )->catch( sub { my ($err) = @_; $self->{log}->warn("get($url): $err"); $promise->reject($err); + return; } )->wait; @@ -299,11 +301,19 @@ sub trainsearch_p { else { $promise->reject("Zug $opt{train_no} nicht gefunden"); } + + # do not propagate $promise->reject's return value to this promise. + # Perl implicitly returns the last statement, so we explicitly return + # nothing to avoid this. + return; } )->catch( sub { my ($err) = @_; $promise->reject($err); + + # do not propagate $promise->reject's return value to this promise + return; } )->wait; @@ -426,12 +436,14 @@ sub get_polyline_p { $cache->freeze( $url, $ret ); $promise->resolve($ret); + return; } )->catch( sub { my ($err) = @_; $self->{log}->debug("GET $url (error: $err)"); $promise->reject($err); + return; } )->wait; -- cgit v1.2.3