async.map异步查询数据后render界面

exports.index = functionreq, res, next { var result = {}; var getData = [ { shcema: Car, example: car_list }, { shcema: Brand, example: brands } ] async.mapgetData, functionitem, callback{ // 给result赋值 // …… }, functionerr,r{ // 最终回调渲染无效 res.renderindex, result; } };

如题:在回调里面render界面无效,在map函数下面又拿不到result的值

functionitem, callback{ // 是不是这个函数里面忘记调用callbacks?
}

callback一定要去调用,否则下面的functionerr, r就永远不会执行。

var getData = [{ shcema: Car, example: car_list }, { shcema: Brand, example: brands }
]
async.mapgetData, item, callback => { setTimeoutfunction { console.logitem.shcema; callbacknull, [item.shcema, item.example]; }, 1000;
}, err,r => { console.logr; // [ [ Car, car_list ], [ Brand, brands ] ]
};

map会将所有的结果将汇总到最终的callback里

正确调用:

async.mapgetData, functionitem, callback{ item.schema.find{},functionerr, res{ callbacknull, data[item.examples] = res || []; }
},functionerr,result{ iferr{ console.logerr; } res.renderindex, data;
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注