我需要迭代一组用户并从数据库中获取有关每个用户的信息。我试图使用异步库的map函数,但我不能让它接受我的迭代器。我有这样的事情:
async.map(arr, getInfo(id), function(err, results){
// do stuff with the results
}
getInfo(id, callback){
db.myCollection.find({query: params}, {projections: true}, function(err, info){
callback(err, info)
})
}
我得到了iterator(x.value,function(err,v){ ^ TypeError:undefined不是函数
尝试不同的事情时的其他错误。基本上,我需要一个数据结构,其中包含数据库中的响应。
答案 0 :(得分:1)
要100%确定我们需要查看您的数组和数据。但是,从你粘贴的代码来看,你看起来就是以错误的方式传递函数。
你传递的函数已经收到了一些参数吗? 我假设你的数组包含id,所以你应该以正确的方式传递函数来映射:
更改:
async.map(arr, getInfo(id), function(err, results)
^^^
成:
async.map(arr, getInfo, function(err, results){