首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NodeJS请求应用程序接口的最快方式

使用NodeJS请求应用程序接口的最快方式
EN

Stack Overflow用户
提问于 2021-04-06 15:23:27
回答 2查看 422关注 0票数 2

我正在尝试在NodeJS应用程序中请求Binance API https://api.binance.com/api/v3/ping,以便进行一些交易。我正在使用axios请求API

代码语言:javascript
复制
const testBinanceAPIResponseTime = async () => {
  try {
    await axios.get("https://api.binance.com/api/v3/ping");
  } catch (err) {
    throw new Error(err);
  }
};

我添加了一个拦截器来测量响应时间。

代码语言:javascript
复制
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 ms左右。根据“文档”,来自美国的请求应该比欧盟更快(~ 10 ms),因为那里有一些Binance服务器。有没有办法通过使用另一个库或另一个模式来缩短响应时间?

EN

回答 2

Stack Overflow用户

发布于 2021-04-06 15:38:41

例如,我会从尝试使用Postman或测试其实际速度的工具来执行请求开始。

在此之后,我不会使用axios Npm,而是使用常规的fetch request

另外,检查您的Heroku服务器的速度(本地和服务器之间的区别)

票数 0
EN

Stack Overflow用户

发布于 2021-04-06 21:01:09

所以,如果你有3000公里的距离,等于3* 10^6米,光速是3* 10 ^8米/秒,这是3*10^6 / 3*10^8 =10^-2 (.01 s),也就是10毫秒(10 * 10 ^ -3)。因此,当你计算发送和接收的往返时间时,它将是20ms的两倍,这是你能得到的最快速度。我没有包括路由和其他时间,apis也有自己的响应时间(处理你的请求的时间).If heroku服务器离你的binance服务器很远,即使它在美国,你也不能得到想要的速度。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66964330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档