我从 model.find() 的返回函数中未定义

I got undefined from return function from model.find()

本文关键字:返回 函数 未定义 model find 我从      更新时间:2023-09-26

这是我想要返回的函数

var setUser = function(Email){
   UserModel.findOne({email : Email}, function(err, data){
      if(err) {
          return Hapi.error.badRequest('There is no this user');
      }
      console.log(data);
      return data;
   });
};

控制台.log(数据);显示找到的结果。但是当我使用此功能时

console.log(setUser('123@mail.com'));

此日志未定义,从函数返回。但是登录功能有数据。

.findOne异步执行,您无法从回调函数返回...那不会去任何地方。 相反,您需要执行以下操作:

setUser('123@mail.com', console.log)
var setUser = function (Email, callback) {
        // .. snip
        callback(data);
}