如何结合使用NodeJS服务器从多个API的JSON数据

我有一个NodeJS服务器,从三个不同的API获取数据,然后从三个API发送JSON到我的前端。 因为我从三个API的数据标记不同,它被发送三个不同的数组??(这里错误的术语呢?)。 如果可能的话,我试图把它全部发送到一个数组中!

码:

var express = require('express'); var router = express.Router(); var request = require('request'); var app = express(); router.get("/", function(req, res){ var request = require('request-promise'); var data1; var data2; var data3; request("http://api1.com").then(function(body){ data1 = JSON.parse(body); return request("http://api2.com"); }) .then(function(body) { data2 = JSON.parse(body); return request("http://api3.com"); }) .then(function(body){ data3 = JSON.parse(body); res.json("services.ejs", {data1: data1, data2: data2, data3: data3}); }) }); module.exports = router; 

结果:

 {"data1":[{All JSON from API #1}] - "Data2":[{All JSON from API #2}] - "Data3":[{All JSON from API #3}]} 

通缉结果:

{"allData": [{All JSON from API #1 #2 #3}]}

你可以连接3个不同的结果到一个数组中:

 var alldata = data1.concat(data2).concat(data3); res.json("services.ejs", {data: alldata}); 

根据你想要的结果做出相应的调整。