Javascript 使用NodeJS请求API的最快方法

Javascript 使用NodeJS请求API的最快方法,javascript,node.js,axios,binance,Javascript,Node.js,Axios,Binance,我试图在NodeJS应用程序中请求Binance API,以便进行一些交易。我正在使用axios请求API const testBinanceAPIResponseTime = async () => { try { await axios.get("https://api.binance.com/api/v3/ping"); } catch (err) { throw new Error(err); } }; 我添加了一个拦截器来测量响应

我试图在NodeJS应用程序中请求Binance API,以便进行一些交易。我正在使用axios请求API

const testBinanceAPIResponseTime = async () => {
  try {
    await axios.get("https://api.binance.com/api/v3/ping");
  } catch (err) {
    throw new Error(err);
  }
};
我添加了一个拦截器来测量响应时间

axios.interceptors.request.use((x) => {
  x.meta = x.meta || {};
  x.meta.requestStartedAt = new Date().getTime();
  return x;
});

axios.interceptors.response.use((x) => {
  console.log(
    `Execution time for: ${x.config.url} - ${
      new Date().getTime() - x.config.meta.requestStartedAt
    } ms`
  );
  return x;
});

我的问题是,无论我是在Heroku EU还是Heroku US上部署代码,响应时间总是在
220毫秒左右。根据“文档”,来自我们的请求应该比欧盟快很多(~
10ms
),因为那里有一些二进制服务器。有没有一种方法可以通过使用另一个lib或另一种模式来提高响应时间?

我会首先尝试使用
邮递员
或者一个工具来测试它的实际速度

之后,我不会使用
axios
Npm,而是使用常规的
fetch请求


此外,请检查Heroku服务器的速度(本地和服务器上的差异)

您的数据传输速度不能超过光速。
所以如果你有3000公里的距离,等于3*10^6米,光速是3*10^8米/秒
timetake=distance/velocity
,这是
3*10^6/3*10^8=10^-2(.01秒)
这是10毫秒(10*10^-3)。因此,当您计算发送和接收的rount行程时间时,它将是两倍的20毫秒,这是您可以获得的最快时间。我没有包括路由和其他时间,API也有自己的响应时间(您请求的处理时间)。如果heroku服务器远离您的binance服务器,即使它在美国,您无法获得所需的速度。

如果可能,您可以尝试缓存响应。您确定可以在10毫秒内获得响应。您是否在浏览器或其他应用程序中看到过这种响应时间?我非常确定,这就是人们在Python@NamitPiriyaI中所说的,我在本地尝试了NodeJS,得到了相同的响应时间。我在电脑上试过邮递员,我得到了同样的回复时间。你说的“Heroku服务器的速度”是什么意思?我想这不是你的问题,不幸的是。试试api测试性能,但我想问题是api我忘了提到我正在用我的欧盟计算机测试它