在现代浏览器中,可以使用fetchAPI进行并发请求:

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));

这块需要注意的是:需要访问同一个域名下的地址,不然存在跨域问题

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值