【发布时间】:2016-08-13 02:13:15
【问题描述】:
我有一个 NodeJS 服务器,它从三个不同的 API 获取数据,然后将 JSON 从三个 API 发送到我的前端。由于我对来自三个 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}]}
【问题讨论】:
标签: node.js