繁体   English   中英

Express.js从外部API渲染数据

[英]Express.js render data from external API

我有一个从外部API获取数据的功能:

app.get("/getdata", (req, res) => {
  request.get({
    url: 'http://externalurl',
    json: true
  })
  .pipe(res);
});

它只是在浏览器中显示接收到的JSON对象。 问题是,我该如何像使用res.render("template", {data:data})这样的快速方法那样在模板中呈现此数据,以便对其进行格式化?

假设您的request变量来自request npm包 ,则可以使用回调函数来接收响应数据:

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中,也可以使用现成的包装器(请参考程序包的自述文件以获取建议)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM