site: small refactor for promise all handler
This commit is contained in:
parent
d97ee5f57c
commit
26c0443999
1 changed files with 8 additions and 11 deletions
|
@ -62,20 +62,16 @@ sub show ($self)
|
||||||
my $media_p = $self->ua->get_p($media_endpoint);
|
my $media_p = $self->ua->get_p($media_endpoint);
|
||||||
my $similar_p = $self->ua->get_p($similar_endpoint);
|
my $similar_p = $self->ua->get_p($similar_endpoint);
|
||||||
Mojo::Promise->all($media_p, $similar_p)->then(sub ($media, $similar) {
|
Mojo::Promise->all($media_p, $similar_p)->then(sub ($media, $similar) {
|
||||||
|
my ($media_tx, $similar_tx) = ($media->[0], $similar->[0]);
|
||||||
|
|
||||||
return $self->render(
|
return $self->render(
|
||||||
text => "Backend error.",
|
text => "Backend error.",
|
||||||
status => 500,
|
status => 500,
|
||||||
) if $media->[0]->error;
|
) if $media_tx->error;
|
||||||
|
|
||||||
my $json = $media->[0]->res->json;
|
my $json = $media_tx->res->json;
|
||||||
my @tags = map +{
|
|
||||||
name => $_->{name},
|
|
||||||
kind_id => $_->{kind_id},
|
|
||||||
display => $_->{display},
|
|
||||||
count => $_->{count},
|
|
||||||
}, $json->{tags}->@*;
|
|
||||||
|
|
||||||
if (!$similar->[0]->error) {
|
if (!$similar_tx->error) {
|
||||||
my @similar_media = map +{
|
my @similar_media = map +{
|
||||||
score => $_->{score},
|
score => $_->{score},
|
||||||
show_media_url => $self->url_for("show_media",
|
show_media_url => $self->url_for("show_media",
|
||||||
|
@ -83,7 +79,8 @@ sub show ($self)
|
||||||
->query(tags => $tags),
|
->query(tags => $tags),
|
||||||
media_src => $self->url_for_file(
|
media_src => $self->url_for_file(
|
||||||
$self->storage->get($_->{id})),
|
$self->storage->get($_->{id})),
|
||||||
}, $similar->[0]->res->json->{media}->@*;
|
}, $similar_tx->res->json->{media}->@*;
|
||||||
|
|
||||||
$self->stash(similar_media => [@similar_media]);
|
$self->stash(similar_media => [@similar_media]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -98,7 +95,7 @@ sub show ($self)
|
||||||
src => $self->url_for_file(
|
src => $self->url_for_file(
|
||||||
$self->storage->get($json->{id})),
|
$self->storage->get($json->{id})),
|
||||||
},
|
},
|
||||||
tags => [@tags],
|
tags => $json->{tags},
|
||||||
);
|
);
|
||||||
})->wait;
|
})->wait;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue