【发布时间】:2017-03-10 15:06:47
【问题描述】:
我正在使用带有 Express 的 Node.JS(以及用于视图的 ejs),我想调用两个 API 端点以在同一页面中呈现它们并使用数据。我试过用异步来做,但我得到了
ECONNRESET: Request could not be proxied!
这是我的代码
app.get('/profile', function(req, res) {
async.parallel([
function(next) {
var query = req.query.search;
var url = '1st url' + query;
var request = require('request');
request(url, function(error, body) {
var data = JSON.parse(body);
next(error, data);
});
},
function(next) {
request('2nd url', function(error, tlist) {
var list = JSON.parse(tlist);
next(error, list);
});
}], function(err, results) {
if (!err && results.statusCode == 200)
var data = results[0];
var list = results[1];
res.render('profile', {data: data, list: list});
});
});
【问题讨论】:
-
你坐在代理后面吗?
ECONNRESET表示连接已从另一端关闭。你应该检查你的HTTP_PROXY/HTTPS_PROXY环境变量。 -
嗨,不。事实上,我正在使用 Cloud9 的在线 IDE。当我解析数据然后尝试破坏回调结果数组并将其分配给我的变量时,就会出现问题。我想在网页中独立使用这两个 JSON 文件。
-
首先找出两个请求中的哪一个导致错误(我的钱在第一个)。尝试从您的本地机器上运行它。否则把网址贴出来,我们可以查一下。
-
如何包含
request模块还有另一个问题。将require('request')行移至文件顶部。
标签: javascript node.js api express asynchronous