2017-02-04 13 views
4

私のように$txオブジェクトを作成します。なぜMojo :: UserAgentでリクエストを繰り返せないのですか?

my $tx = $self->ua->build_tx($method, ...); 

はその要求:

my $res = $self->ua->start($tx)->res; 

私は右の応答を得たが、私は要求を繰り返したいとき、私はエラーを取得:

my $repeat = $self->ua->start($tx)->res; 
Can't call method "stream" on an undefined value at /local/lib/perl5/Mojo/UserAgent.pm line 155. 

なぜリクエストを繰り返すことはできませんか?

+0

おそらく、新しい '$ tx'オブジェクトが必要になるでしょう。 http://mojolicious.org/perldoc/Mojo/Transaction#is_finished –

答えて

2

Mojo ua txは再利用できませんので、新しいものを作成してください。

+0

'req'オブジェクトをビルドし、それを' tx'に入れ、必要に応じて 'req'を再利用する方が良いでしょう。コード 'build_tx'を調べると' req'と連動しますので、 'build_req'として名前を付ける方がいいです...もっと便利です –

関連する問題