Javascript 无法读取属性';然后';nodejs中未定义的

Javascript 无法读取属性';然后';nodejs中未定义的,javascript,node.js,express,passport.js,Javascript,Node.js,Express,Passport.js,我不知道为什么我在代码中遇到了这个错误 fineOneBySocialLogin(profile).then(function (user) { }, function (err) { return done(err, null); }) var fineOneBySocialLogin = function (req, res) { auth.findOne({ username: req.emails[0].value }).then(

我不知道为什么我在代码中遇到了这个错误

    fineOneBySocialLogin(profile).then(function (user) {

    }, function (err) {
        return done(err, null);
    })



var fineOneBySocialLogin = function (req, res) {
    auth.findOne({ username: req.emails[0].value }).then(function (user) {
        if (!user) {
            console.log('testing 1');
            var userForm = {};
            userForm = {
                email: req.emails[0].value
            };
            user.createUser(userForm).then(function(user) {
                if (user) {
                    console.log('testing 2');
                    auth.findOne({ username: req.emails[0].value }).then(function (user) {
                        if (user) {
                            console.log('testing 3');
                            return user;
                        }
                    });
                }
            });
        } else {
            return user;
        }
    });
}

您应该在第二个raw中的auth.findOne之前添加
return

var fineOneBySocialLogin = function (req, res) {
  return  auth.findOne({ username: req.emails[0].value }).then(...

您应该在第二个raw中的auth.findOne
之前添加
return

var fineOneBySocialLogin = function (req, res) {
  return  auth.findOne({ username: req.emails[0].value }).then(...
应该是
返回auth.findOne(…

应该是
返回auth.findOne(…