javascript - Express.js 从外部 API 渲染数据

标签 javascript node.js express

我有一个从外部 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/

相关文章:

javascript - require node.js 错误 SyntaxError : Unexpected identifier

python - Heroku 上的 webpack 和 django : bundling before collectstatic

javascript - 使用node.js将rails应用程序部署到ubuntu

javascript - Nestjs 日志响应数据对象

javascript - 将数据存储在 req 与 res 中

使用 dateFormat String 的 javascript 日期格式

javascript - MVC Kendo 网格自定义过滤器

node.js - Passport.SocketIo - 如何使用 NodeJS、Express 和 Passport 获取在线用户列表

javascript - html中python代码和javascript代码的执行顺序是什么

javascript - css过渡的 Angular 监听事件如何在ng-style触发过渡的地方结束