簡體   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