【问题标题】:Error "Undefined is not a function " Using callback node.JS错误“未定义不是函数”使用回调 node.JS
【发布时间】:2014-09-13 16:17:02
【问题描述】:

我正在尝试在我的 MongoDb 中保存一个新文档(用户)并使用回调。代码一直运行直到保存用户,但之后我得到一个错误。所以我可以保存用户。我有以下代码:

    function saveUser(userName, socialMediaType, socialMediaID, setDocNumber, callback){
        var user;

    if(socialMediaType == "fbUID"){
         user = new users({
            userName: userName, 
            userEmail: 'userEmail',
            teams:[],
            fbUID : socialMediaID
         });
        }else 
          if(socialMediaType =="google"){
      //do the same
}

       var query = {}
        query["'"+ socialMediaType +"'" ] = socialMediaID

         users.findOne(query, function(err, userFound){

           if (err) { // err in query
            log.d("Error in query FoundUser", err)
            log.d("User Found", userFound)
        }else 

        if(userFound == undefined){ //if user does not exist

              user.save(function(err, user){
            if(err) return console.error(err);
            log.d("user saved", user);
            currentSession =  sessionOBJ.login(user._id, socialMediaID);  
            callback(currentSession,"created")

         });

          }else{


            currentSession =  sessionOBJ.login(userFound._id, socialMediaID);  
            callback(currentSession,"logged")

          }


            });

    }

我通过这段代码调用了上面的函数:

f(fbUID !== undefined){

        userModelOBJ.saveUser(userName,"fbUID", fbUID, function(currentSession, status) {

            res.send({"status":status,  
                "sessionID": currentSession.sessionID,
                "expires" : currentSession.date});
        });

我收到此错误:

错误在一行:

callback(currentSession,"created")

可能是什么问题?

我已经做过很多研究,但这是一个特定的案例。

【问题讨论】:

    标签: node.js callback mongoose mongodb-query asynccallback


    【解决方案1】:

    您的saveUser() 调用缺少setDocNumber 参数。不过,您似乎没有在代码中使用它,因此您可以安全地删除它。如果您在其他地方使用它(您没有显示),那么您需要在 saveUser() 的顶部进行一些参数检查以支持可选参数。

    【讨论】:

    • 你完全正确。谢谢你。那是错误。
    猜你喜欢
    • 2019-02-05
    • 2019-06-09
    • 2014-01-31
    • 2014-11-11
    • 1970-01-01
    • 2014-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多