我有一个从外部 API 获取数据的函数:
app.get("/getdata", (req, res) => {
request.get({
url: 'http://externalurl',
json: true
})
.pipe(res);
});
它只是在浏览器中显示接收到的 JSON 对象。问题是,如何在模板中渲染这些数据,就像通常使用 res.render("template", {data:data}) 等快速方法完成的那样,以便我可以格式化它?
最佳答案
假设您的 request
变量来自 request npm package ,您可以使用回调函数来接收响应数据:
app.get("/getdata", (req, res, next) => {
request.get("http://externalurl", (err, response, body) => {
if (err) {
return next(err);
}
res.render("template", {data: JSON.parse(body)});
});
});
或者,如果您不习惯使用回调,则可以将 request
调用包装在 Promise 中或使用现成的包装器(请参阅包的自述文件以获取建议)。
关于javascript - Express.js 从外部 API 渲染数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49215963/