我是节点js的新手,我正在使用restify和mongoose。所以,我尝试在找到数据时返回一些值,并在未找到数据时返回null。这是我的代码:
String
我想调用该函数并分配给变量。
getUsers = function (user, pass, urole){
var data = '';
Publisher.findOne({username:user, password:pass, role:urole},function(err, success){
if (err){}
if (!success){
//when data not found
data = 'null';
}else{
//when data found
data = 'found';
}
});
return data;
}
但结果未定义。
答案 0 :(得分:1)
findOne
是异步函数,请将return data
放入回调函数,同时通过回调函数返回日期
getUsers = function (user, pass, urole, callback){
var data = '';
Publisher.findOne({username:user, password:pass, role:urole},function(err, success){
if (err){}
if (!success){
//when data not found
data = 'null';
}else{
//when data found
data = 'found';
}
callback && callback(data);
});
}
getUsers(user, pass, urole, function(data) {
console.log(data);
});