Vulwsztyn,
Thanks for helping me on this issue.
But the solution which u provided, that iam not able to insert properly into my code and also i didn't asked asked the ques with proper code.
Here is the my code which iam using. In this code Iam using three console.log's for printing
1.console.log("Fun1 Api Response======",jsonParsedArray2);
2.console.log("Fun2 Api Response======",jsonParsedArray5);
3. console.log("result="+result)
If iam able to get the output in this order
console.log("Fun1 Api Response======",jsonParsedArray2);
console.log("Fun2 Api Response======",jsonParsedArray5);
console.log("result="+result);
console.log("Fun1 Api Response======",jsonParsedArray2);
console.log("Fun2 Api Response======",jsonParsedArray5);
console.log("result="+result);
...
....
...
then i can assure my code is running sequentially.
Could u please edit this code with async.await, bcoz idont know much about async.await and where to add it correctly.
Normally iam getting o/p like this :
console.log("Fun1 Api Response======",jsonParsedArray2);
console.log("Fun1 Api Response======",jsonParsedArray2);
console.log("Fun1 Api Response======",jsonParsedArray2);
console.log("result="+result)
console.log("Fun2 Api Response======",jsonParsedArray5);
console.log("Fun2 Api Response======",jsonParsedArray5);
console.log("Fun2 Api Response======",jsonParsedArray5);
Thank you
========CODE=======
//First Function
function getDetailsOfEachProxy(maxRevisionNumberOfEachApiArray,mailArray,hostName,reqHeaders,callback){
setTimeout(()=>{
for(z=0;z<mailArray.length;z++)
{
let options = {
hostname: hostName,
path: "/v1/organizations/orgname/apis/"+mailArray[z]+"/revisions/"+maxRevisionNumberOfEachApiArray[z],
method: "GET",
headers: {
"Authorization": reqHeaders
}
}
https.get(options, (res) => {
res.setEncoding('utf8');
let data1='';
res.on('data', (chunk) => {
data1 += chunk;
})
res.on('end', () => {
jsonParsedArray2 = JSON.parse(data1);
console.log("Fun1 Api Response======",jsonParsedArray2);
for (key in jsonParsedArray2) {
if (jsonParsedArray2.hasOwnProperty(key))
{
listOfElementsArray[j] = jsonParsedArray2[key];
j=j+1;
var apiBasePath = listOfElementsArray[0];
var apiName = listOfElementsArray[11];
var apiProxies = listOfElementsArray[12];
var proxyEndPointElement = listOfElementsArray[13];
var proxyResources = listOfElementsArray[16];
var proxyRevision = listOfElementsArray[17];
var targetEnPointElement = listOfElementsArray[22];
}
}
for (key2 in apiProxies){
apiProxyArray[t] = apiProxies[key2];
t++;
}
for (key2 in proxyEndPointElement){
var proxyEndPoint = proxyEndPointElement[key2];
}
for (key2 in proxyResources){
proxyResourcesArray[t2] = proxyResources[key2];
t2++;
rotation1++;
}
for (key2 in targetEnPointElement){
var targetEndPoint = targetEnPointElement[key2];
}
for(i=0;i<apiProxyArray.length;i++)
{
f = apiProxyArray[i];
if (f.startsWith('FC-'))
{
flowCalloutPolicyArray[fcpa] = f;
fcpa++;
}
f='';
}
for(i=0;i<apiProxyArray.length;i++)
{
f2 = apiProxyArray[i];
if(f2.startsWith('KVM-'))
{
kvmPolicyArray[kpa] = f2;
kpa++;
}
f2='';
}
//Invoking Second Fun inside First Fun
getSharedFlows(apiName,proxyRevision,hostName,reqHeaders,flowCalloutPolicyArray,function(result)
{
console.log("result="+result)
});
//Second Function
function getSharedFlows(apiName,proxyRevision,hostName,reqHeaders,flowCalloutPolicyArray,callback){
if(flowCalloutPolicyArray.length > 0)
{
for(iim=0;iim<flowCalloutPolicyArray.length;iim++)
{
let options = {
hostname: hostName,
path: "/v1/organizations/orgname/apis/"+apiName+"/revisions/"+proxyRevision+"/policies/"+flowCalloutPolicyArray[iim],
method: "GET",
headers: {
"Authorization": reqHeaders
}
}
https.get(options, (res) => {
res.setEncoding('utf8');
let data4='';
res.on('data', (chunk) => {
data4 += chunk;
})
res.on('end', () => {
jsonParsedArray5= JSON.parse(data4);
console.log("Fun2 Api Response======",jsonParsedArray5);
}) //res.on
});//http.get
}//for
callback("successfully executing code line by line")
}//if
sfbv = 0;
}//fun
j=0;
flowCalloutPolicyArray.length=0;
fcpa=0;
apiProxyArray.length=0;
t=0;
proxyResourcesArray.length=0;
t2=0;
sharedFlowElement = '';
//sharedFlowBundleValue ='';
kvmPolicyArray.length = 0;
kpa = 0;
kvmElement = '';
})//CLOSING INTERNAL res.on function
// console.log('Number of developers having certficate=',certsArray.length)
});//CLOSING INTERNAL https FUNCTION
//LOOP ROTATE UPTO HERE ONLY
}//FOR LOOP END
},5500);
}//END OF FUNCTION