Javascript 具有多个XMLHttpRequest的异步forEach问题

Javascript 具有多个XMLHttpRequest的异步forEach问题,javascript,node.js,asynchronous,callback,xmlhttprequest,Javascript,Node.js,Asynchronous,Callback,Xmlhttprequest,我对nodejs中的异步包有一个问题 本质上,我拥有的是一个对象数组,其中每个元素都包含形成远程服务器xmlhttprequest所需的信息。因此,我认为可以使用async.forEach按顺序触发请求,将结果存储在变量中,然后在以后的代码中使用它们 以下是示例代码: async.series([ 函数(回调) {//async.series元素1 forEach(请求信息arr,函数(请求信息元素,回调){ var url=…//使用info from req\u info\u元素形成url

我对nodejs中的异步包有一个问题

本质上,我拥有的是一个对象数组,其中每个元素都包含形成远程服务器xmlhttprequest所需的信息。因此,我认为可以使用async.forEach按顺序触发请求,将结果存储在变量中,然后在以后的代码中使用它们

以下是示例代码:
async.series([
函数(回调)
{//async.series元素1
forEach(请求信息arr,函数(请求信息元素,回调){
var url=…//使用info from req\u info\u元素形成url
var req=新的XMLHttpRequest();
请求打开(“获取”,url,true);
req.send();//激发请求
req.onload=函数(){
//做事
回调();
}//装载结束
req.onerror=函数(){
//做事
回调(err);
}
}/*异步\u forEach*/结束,回调);
回调();
},
函数(回调){
//async.series元素2
//do stuff…希望只有在收到async.series元素1中激发的每个请求的响应后才能执行此操作
}
],函数(err){

}); 我想这是因为回调();在async.forEach的正下方,这会立即触发本系列的下一步:

.
.
.
}/*end of async_forEach */, callback);
callback(); //<-- remove this guy
。
.
.
}/*异步\u forEach*/结束,回调);

回调()// 这是因为您正在调用async.forEach()块之后的第一个async.series()回调


您需要删除该回调();第21行。

谢谢拉尔夫,你们两人同时回答了问题,但StackOverflow在按最年长者排序时,会将Furqan的答案显示在最前面。尽量做到公平。