for(var i in list){ var plurl=“http://xxx.com?eid=”+list[i].id; requestUrl(plurl,function(err,data){ //数据处理 }); } //这里合并for的数据
就是将for里requestUrl回调函数的数据都合并到一起 请问这该怎么做呢
async.each试试?
var result={} var len =0; for(var i in list){ len++; } for(var i in list){ var plurl=“http://xxx.com?eid=”+list[i].id; requestUrl(plurl,function(err,data){ result[i]=data; len–; next(); }); } function next(){ if(!len){ //你的执行-》结果都在result中 } }
var eventproxy = require(“eventproxy”); var ep = new eventproxy(); var result =[]; ep.after(“list”,list.length,function(rows){ rows.forEach(function®{ result = result.concat®; }) }) for(var i in list){ var plurl=“http://xxx.com?eid=”+list[i].id; requestUrl(plurl,ep.group(“list”)); } //最后result 就是你要的结果
说明 由于转义字符,® 应该是®
我艹!(r)
谢谢大家了 我使用async.map 解决了
function collectDatas(err, data) {
result.push(data);
checkDone();
}
function checkDone() {
count++;
if (count === list.length)
cb(result);
}
var callback = function(err, data) {
collectData(err, data);
};
大致是这么个思路