I use the below script to loop through the input (skipping first one) to post some data to my API.
Result
Call 2 {"result":{"number":"002"}}
Call 3 {"result":{"number":"003"}}
How can I capture the combined response of both calls into a variable I can use later on in my script?
something like var allNum = res.result.number[0]
?
This is what I want -> Var allTens = "002, 003"
Script
//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);
}
You can declare a variable outside of the.forEach Call that could be used within that "scope". This variable can just be an array that you append the results to:
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);
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.