Defined variable in global:
var domArray = [] //will have multiple string
var onQueueDom = [] //will have 1 string only
var onQueueDomStatus = ["N"] //will one of the status: "N", "P","D"
var processedNum = 0
I create a function which will return True or False, it will wait 3 seconds only run the if else:
function checkIfPending(){
console.log('checkIfPending being executed ')
setTimeout(function(){
if(onQueueDomStatus[0] == "D"){
console.log("Process Done, returning True")
return true
console.log("True has been returned, you shouldn't seeing this")
}
else if(onQueueDomStatus[0] !== "D" || onQueueDomStatus[0] !== "N" && onQueueDom !== ""){
console.log("Still Processing, will re-check in 3 second")
return false
}
else {
console.log("No domain on Queue but status not clear")
console.log("Clearing status...")
onQueueDomStatus[0] = "D"
console.log('setting onQueueDomStatus to ' + onQueueDomStatus[0])
console.log("Status changed to D & returning True")
return true
}
}, 3000);
}
i want to use the above function as the condition of while loop, but it will not process the code in the While loop even the onQueueDomStatus[0] == "D":
while(checkIfPending() == true){
console.log('while loop is running')
onQueueDomStatus[0] = "N"
console.log('setting onQueueDomStatus to ' + onQueueDomStatus[0])
movetoQueue()
console.log('Executing movetoQueue')
}
Assuming the onQueueDomStatus[0] is always "D", but it still not working.
Side question: is the while loop will wait 3 seconds to execute everytime?