public static function batch(
        ClientInterface $client,
        $requests,
        array $options = []
    ) {
        $res = [];
        self::cmpCallback($options, 'fulfilled', $res);
        self::cmpCallback($options, 'rejected', $res);
        $pool = new static($client, $requests, $options);
        $pool->promise()->wait();
        ksort($res);

        return $res;
    }
public static function batch(
        ClientInterface $client,
        $requests,
        array $options = []
    ) {
        $res = [];
        self::cmpCallback($options, 'fulfilled', $res);
        self::cmpCallback($options, 'rejected', $res);
        $pool = new static($client, $requests, $options);
        $pool->promise()->wait();
        ksort($res);

        return $res;
    }
public static function batch ( ClientInterface $ client , $ requests , array $ options = [ ] ) { $ res = [ ] ; self :: cmpCallback ( $ options , 'fulfilled' , $ res ) ; self :: cmpCallback ( $ options , 'rejected' , $ res ) ; $ pool = new static ( $ client , $ requests , $ options ) ; $ pool -> promise ( ) -> wait ( ) ; ksort ( $ res ) ; return $ res ; }
Sends multiple requests concurrently and returns an array of responses
and exceptions that uses the same ordering as the provided requests.

IMPORTANT: This method keeps every request and response in memory, and
as such, is NOT recommended when sending a large number or an
indeterminate number of requests concurrently.

@param ClientInterface $client   Client used to send the requests
@param array|\Iterator $requests Requests to send concurrently.
@param array           $options  Passes through the options available in
{@see GuzzleHttp\Pool::__construct}

@return array Returns an array containing the response or an exception
in the same order that the requests were sent.
@throws \InvalidArgumentException if the event format is incorrect.
Sends multiple requests concurrently and returns an array of responses and exceptions that uses the same ordering as the provided requests .