Olá,
seguindo com o que está em aula eu fiz segui teste.php:
<?php
use GuzzleHttp\Client;
use GuzzleHttp\Promise\Utils;
use Psr\Http\Message\ResponseInterface;
require_once 'vendor/autoload.php';
$client = new Client();
$promessa1 = $client->getAsync('http://localhost:8080/http-server.php');
$promessa2 = $client->getAsync('http://localhost:8000/http-server.php');
/** @var ResponseInterface[] $respostas */
$respostas = Utils::unwrap([
$promessa1, $promessa2
]);
echo 'Respostas 1: ' . $respostas[0]->getBody()->getContents();
echo 'Respostas 2: ' . $respostas[1]->getBody()->getContents();
O comportamento é o mesmo que o "simples" get
.
Ao usar o time php teste.php
o resultado do tempo é somado:
time php teste.php
Respostas 1: Resposta do servidor que levou 4 segundos
Respostas 2: Resposta do servidor que levou 2 segundos
real 0m6,038s
user 0m0,024s
sys 0m0,012s
Estou usando ubuntu 20.04