Javascript 对多个POST API调用的结果进行分组
我使用下面的脚本循环输入(跳过第一个),将一些数据发布到我的API 结果Javascript 对多个POST API调用的结果进行分组,javascript,node.js,json,ecmascript-6,Javascript,Node.js,Json,Ecmascript 6,我使用下面的脚本循环输入(跳过第一个),将一些数据发布到我的API 结果 Call 2 {"result":{"number":"002"}} Call 3 {"result":{"number":"003"}} //input var tens = "abc, def, ghi" console.log(tens); //Br
Call 2 {"result":{"number":"002"}}
Call 3 {"result":{"number":"003"}}
//input
var tens = "abc, def, ghi"
console.log(tens);
//Break list
var tenlist = tens.split(',').map(string => string.trim());
console.log(tenants);
//Start Data loop through tenants skip first value
var tenants = tenlist.slice(1);
tenants.forEach(tenant => {
var data = {};
var options = {
'endpoint': 'site',
'path': '/api/v1/table/record',
'method': 'POST',
"headers": {
"Authorization": "Basic xxxxxxx
"Content-Type": "application/json"
}}
sendData(data, options);
});
function sendData(data, options) {
var req = http.request(options, function(res) {
console.log('STATUS: ' + res.statusCode);
console.log('HEADERS: ' + JSON.stringify(res.headers));
});
req.write(data);
}
如何将两个调用的组合响应捕获到一个变量中,以便稍后在脚本中使用
类似varallNum=res.result.number[0]
?这就是我想要的->
Var allTens=“002,003”
脚本
Call 2 {"result":{"number":"002"}}
Call 3 {"result":{"number":"003"}}
//input
var tens = "abc, def, ghi"
console.log(tens);
//Break list
var tenlist = tens.split(',').map(string => string.trim());
console.log(tenants);
//Start Data loop through tenants skip first value
var tenants = tenlist.slice(1);
tenants.forEach(tenant => {
var data = {};
var options = {
'endpoint': 'site',
'path': '/api/v1/table/record',
'method': 'POST',
"headers": {
"Authorization": "Basic xxxxxxx
"Content-Type": "application/json"
}}
sendData(data, options);
});
function sendData(data, options) {
var req = http.request(options, function(res) {
console.log('STATUS: ' + res.statusCode);
console.log('HEADERS: ' + JSON.stringify(res.headers));
});
req.write(data);
}
您可以在.forEach调用之外声明一个变量,该变量可以在该“范围”内使用。此变量只能是将结果附加到的数组:
var tens = "abc, def, ghi"
console.log(tens);
//Break list
var tenlist = tens.split(',').map(string => string.trim());
console.log(tenants);
//Start Data loop through tenants skip first value
var tenants = tenlist.slice(1);
var newArray = [];
tenants.forEach(tenant => {
var data = {};
var options = {
'endpoint': 'site',
'path': '/api/v1/table/record',
'method': 'POST',
"headers": {
"Authorization": "Basic xxxxxxx",
"Content-Type": "application/json"
}}
sendData(data, options);
});
function sendData(data, options) {
var req = http.request(options, function(res) {
console.log('STATUS: ' + res.statusCode);
console.log('HEADERS: ' + JSON.stringify(res.headers));
newArray.push(res); //This'll certainly need changing - but this adds to the array
});
req.write(data);
}