Perl 如何使用Mojo::UserAgent';s连接超时

Perl 如何使用Mojo::UserAgent';s连接超时,perl,mojolicious,mojo-useragent,Perl,Mojolicious,Mojo Useragent,我是新手。我有一行代码: my $api_data = decode_json( $ua->get($url)->res->body ); 其中$ua=Mojo::UserAgent->new。有时,请求可能会挂起(无限期),我想指定一个连接超时 提供了一个示例,但我不确定如何将其正确地合并到我的语句中 在这种情况下,我应该如何使用connect\u timeout?我知道Mojo指定了一个默认的连接超时值(10),但我宁愿在代码中明确地指定它。显示connect\u tim

我是新手。我有一行代码:

my $api_data = decode_json( $ua->get($url)->res->body );
其中
$ua=Mojo::UserAgent->new
。有时,请求可能会挂起(无限期),我想指定一个连接超时

提供了一个示例,但我不确定如何将其正确地合并到我的语句中

在这种情况下,我应该如何使用
connect\u timeout
?我知道Mojo指定了一个默认的连接超时值(10),但我宁愿在代码中明确地指定它。

显示
connect\u timeout
可以用作getter和setter:

my $timeout = $ua->connect_timeout;    # getter
$ua         = $ua->connect_timeout(5); # setter
setter返回调用它的Mojo::UserAgent对象,以便它可以与其他方法链接

所以你可以做:

但您不需要链接方法,因此我建议使用更具可读性的版本:

my $ua = Mojo::UserAgent->new;
$ua->connect_timeout(42);

my $api_data = decode_json( $ua->get($url)->res->body );

感谢您提供的简单、直截了当的答案和可读性建议。
my $ua = Mojo::UserAgent->new;
$ua->connect_timeout(42);

my $api_data = decode_json( $ua->get($url)->res->body );