let urls = [
'http://api.example.com/data1',
'http://api.example.com/data2',
// 更多URLs
];
Promise.all(urls.map(url =>
fetch(url).then(response => response.json())
)).then(allResponses => {
allResponses.forEach(responseData => {
console.log(responseData); // 这里处理每个请求的结果
});
}).catch(error => {
console.error("An error occurred: ", error);
});
下面的示例代码展示了如何发送一个请求,并计算请求的响应时间:
const axios = require('axios');
function fetchWithResponseTime(url) {
const start = Date.now(); // 请求开始时间
return axios.get(url)
.then(response => {
const end = Date.now(); // 请求结束时间
const responseTime = end - start;
console.log(`请求${url}的响应时间为: ${responseTime}ms`);
return {
...response,
responseTime
};
})
.catch(error => {
console.error(`请求${url}时发生错误: `, error);
throw error; // 向外传递错误
});
}
// 示例URL
const url = 'https://jsonplaceholder.typicode.com/todos/1';
// 发送请求并输出响应时间
fetchWithResponseTime(url)
.then(response => console.log(response.data))
.catch(error => console.error(error));
这块需要注意的是:需要访问同一个域名下的地址,不然存在跨域问题