php
use GuzzleHttp\Client;
use GuzzleHttp\Promise;$client = new Client([base_uri => https://api.example.com]);
$promises = [];foreach ($userIds as $id) {
$promises[$id] = $client->getAsync("/shipping/$id");
}// 批量等待响应
$results = Promise\unwrap($promises);// 结果处理
$shippingData = [];
foreach ($results as $id => $response) {
$shippingData[$id] = json_decode($response->getBody());
}| 方式 | 请求数 | 耗时 | 内存占用 |
|------------|--------|---------|----------|
| 同步阻塞 | 500 | 85s | 45MB |
| Promise | 500 | 1.8s | 62MB |