Php Guzzle并发请求-这是响应中请求的url

Php Guzzle并发请求-这是响应中请求的url,php,concurrency,guzzle,Php,Concurrency,Guzzle,我使用guzzle库进行了一些并发请求。完成此操作的代码: public function concurrentRequests(array $uri) { $client = $this; $requests = function ($total) use ($client, $uri) { for ($i = 0; $i < $total; $i++) { yield function () use ($client, $uri,

我使用guzzle库进行了一些并发请求。完成此操作的代码:

public function concurrentRequests(array $uri)
{
    $client = $this;
    $requests = function ($total) use ($client, $uri) {
        for ($i = 0; $i < $total; $i++) {
            yield function () use ($client, $uri, $i) {
                return $client->requestAsync('GET', $uri[$i]);
            };
        }
    };

    $pool = Pool::batch($client, $requests(count($uri)), [
        'concurrency' => 5,
        'fulfilled' => function ($response, $index) {
            // this is delivered each successful response
        },
        'rejected' => function ($reason, $index) {
            // this is delivered each failed request
        },
    ]);

    return $pool;
}
公共函数concurrentRequests(数组$uri)
{
$client=$this;
$requests=函数($total)使用($client,$uri){
对于($i=0;$i<$total;$i++){
yield函数()使用($client,$uri,$i){
返回$client->requestAsync('GET',$uri[$i]);
};
}
};
$pool=pool::批处理($client,$requests(count($uri))[
“并发”=>5,
“已完成”=>函数($response,$index){
//每一次成功的响应都会传递此信息
},
“拒绝”=>函数($reason,$index){
//这将在每个失败的请求中传递
},
]);
返回$pool;
}

我想知道哪个请求属于每个响应。在迭代响应时有什么方法可以做到这一点吗?

这很容易,因为methodPool::batch

返回包含响应或异常的数组,其顺序与发送请求的顺序相同