我试图创建一个文件“users.js”,其中 id 喜欢管理对用户数据的所有 redis 访问。在这个文件中,我有下一个功能,我将用户保存在列表中,然后从他们的键中加载所有用户:
exports.getUsers = function(){
var usrs;
client.lrange('users', 0, -1, function(err, rep){
client.mget(rep, function(e,r){
usrs = r;
});
});
return usrs;
};
我有另一个文件“admin.js”,我尝试在其中管理管理面板的路由。在这个文件中,我需要 users.js 文件,并调用 users.getUsers() 函数。我希望得到一个包含用户对象的数组,或者至少是包含所有这些对象的字符串。问题是它总是返回“未定义”。
据我了解,正在发生的事情是我尝试在 mget 完成回调之前返回 usrs 变量。但我不知道如何解决。
问题是......我怎样才能让return语句等待mget?有没有其他方法来组织代码并保持数据库访问由字段分隔?