10105180
一开始我想的太简单了
var tasks = 0;//当前并发数量
function foo(url){
while(tasks > 2){//并发超过2,无限循环等前面的任务执行结束
continue;
}
tasks++;
http.get(url,function(){
tasks--;//任务执行完毕,tasks-1
})
}
var urls = [....]
for(var i in urls) {
foo(urls[i]);
}
node是单线程的,while死循环导致异步任务没法进行,tasks--也就无法执行到。 请教一下有没有其他办法可以人为控制并发数量和异步任务时间间隔?