我正在使用Node.js(8.9.4)和Express(4.16.2)制作项目。基本上,使用Node.js我会咨询外部API,然后使用Express制作一条消耗此结果的路由。令我惊讶的是,当我使用Axios库时,它使我的响应延迟了大约30秒。我想检查一下这是我的问题还是来自API ...我已经用PostMan检查了它,它的返回时间不到300毫秒。然后我认为这是与Axios相关的任何问题,所以我决定使用请求承诺但是......再次30秒。我做的最后一个测试是使用Node.js原生' https' util和...是的,再次不到300ms。
有谁知道这些包的问题是什么?我是否被判使用回调而不是承诺?
这是我的基本代码......(AXIOS,请求承诺......响应延迟30秒)
const rp = require('request-promise);
const BASE_URL = 'my https url';
const AUTH_TOKEN = 'my auth token';
const options = {
uri: BASE_URL + '/my-route',
qs: { myQS: true },
headers: { authorization: AUTH_TOKEN }
method: 'GET'
};
rp(options)
.then(response => response)
.catch(error => error);
这是我的基本代码,使用HTTPS ....响应延迟300毫秒
const https = require('https');
const AUTH_TOKEN = 'my auth token';
const options = {
hostname: 'my hostname',
port: 443,
path: 'my path',
headers: { authorization: AUTH_TOKEN },
method: 'GET'
};
https.get(options, (res) => {
res.on('data', d => d);
};
答案 0 :(得分:0)
只是一个猜测,但听起来像Axios正在通过您的网络中的不同路线。这两个请求是否都配置为使用相同的代理设置?