Я сейчас начинаю с NodeJS, и я хочу запускать одну и ту же функцию несколько раз одновременно с разными аргументами, но я не уверен, как это сделать.Из моего текущего опыта NodeJS / Javascript в целом не ждут, пока функция возвратит, но в моем случае это действительно смущает меня.Мой текущий код выглядит примерно так:
XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
start=function(values){
max=5
started=0
finished=0
maxReachedBefore=false
finishedStarting=false
result=[]
interval = setInterval(function(){
if(!finishedStarting){
if((started-finished)>= max) {
if(!maxReachedBefore){
console.log("Max Reached!")
maxReachedBefore=true
}
return;
}
maxReachedBefore=false
getValue(values[started])
console.log("Started getValue")
started++
} else {
if (started<=finished){
clearInterval(interval)
console.log("Finished!")
}
}
},10)
}
getValue=function(value){
var request=new XMLHttpRequest()
request.open("get","MY_WEBSITE_HERE.COM/"+value, false)
request.send()
result=result.concat(request.responseText)
console.log("Finished getValue")
finished++
}
start(["a","medium","sized","list","of","values","that","i","want","to","get","the","corresponding","values","to"])
Теперь я ожидаю, что это будет продолжать запускать getValue с разными значениями, пока не достигнут максимум -> getValue работает менее 6 раз, но это не так,getValue запускается один за другим, следующий начинается только после завершения последнего.Может кто-нибудь объяснить, почему это происходит / Помогите мне изменить это?
[Прошу прощения, я относительно новичок в NodeJS]