【发布时间】:2018-05-26 12:20:01
【问题描述】:
我有一个函数,它接受一串用户名,用逗号分隔它们,然后必须检查该用户名是否存在于数据库中,如果存在,则将其 ID 放入一个数组中。
module.exports = function (peopleString) {
let people = peopleString.split(',')
for (person in people) {
people[person] = people[person].replace(/ /g,'')
users.findOne({username: people[person]}, function (err, document)
{
if (err) {
console.log(err);
}
if (!document) {
people.splice(person, 1)
}
people[person] = document._id
})
}
return people
}
问题是在进行所有查询之前,函数已经返回,因为 mongoose 是异步的。我如何在仍然使用导出函数的 return 来返回用户 ID 数组的同时完成这项工作?
【问题讨论】:
标签: node.js asynchronous mongoose callback