Javascript 在匿名函数中导出参数值
使用mongojs访问mongodb数据库,以下行检索用户:Javascript 在匿名函数中导出参数值,javascript,mongodb,closures,Javascript,Mongodb,Closures,使用mongojs访问mongodb数据库,以下行检索用户: db.users.find({}, function(err, some_users) {}); 找到的用户存储在某些_Users参数中 然后,我想在db.users.find()调用之后使用一些用户,而不仅仅是在anoymous函数中 我尝试过使用闭包,但没有成功 有什么想法吗?如果您想在调用find后访问某些用户,那么您应该初始化一个变量,将结果保存在匿名函数的作用域之外。e、 g var someUsers; db.users
db.users.find({}, function(err, some_users) {});
找到的用户存储在某些_Users参数中
然后,我想在db.users.find()调用之后使用一些用户,而不仅仅是在anoymous函数中
我尝试过使用闭包,但没有成功
有什么想法吗?如果您想在调用find
后访问某些用户
,那么您应该初始化一个变量,将结果保存在匿名函数的作用域之外。e、 g
var someUsers;
db.users.find({}, function(err, some_users) {someUsers = some_users});
//Do things with the filled in someUsers
正如nnnnnn在评论中指出的那样,假设find
是一个异步调用,调用find
后不会立即填充某些用户,假设DB访问是异步的,则必须在回调函数(或从回调调用的其他函数)中处理响应,尽管在回调中,您可以将对结果的引用存储在全局变量中,然后在以后响应其他事件时使用该引用。您不能在调用.find()
之后立即使用它,因为调用(我假设)也是异步的。