【发布时间】:2017-08-24 15:40:13
【问题描述】:
我想对外部 api 进行后端调用并用结果填充我的页面。最好的方法是什么?
“request.get”调用是异步的,所以我理解下面的代码是错误的。但是,我以这种方式编写了它,以便我可以解释我想要实际做的事情。
此外,我可能有 5-6 个外部 api,有没有办法让每个 api 异步但同步 get 调用?
这是我当前代码的样子:
var express = require('express');
var request = require('request');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
var body = getRawApiResponse("someURL");
console.log("Index >" + body);
res.render('index', { title: 'Express', api: "some", body: body});
});
function getRawApiResponse(api){
request.get({
uri: api,
},
function(error, response, body){
if (!error && response.statusCode === 200) {
console.log("Index > Raw Api Response: " + body);
} else {
console.log(error);
}
});
}
【问题讨论】: