TypeError:done不是函数(node.js,express,但不是护照)

时间:2017-10-26 19:08:43

标签: node.js express

我做错了什么?显而易见的事情正在发生,但却无法实现。

  

TypeError: done不是函数(node.js express)   profile-update.js,第24行。

轮廓update.js

struct Task {
    enum CallbackType {
        cbVoid,
        cbId
   };
   using VoidCb = void(*)(void);
   using IdCb = void(*)(unsigned);

   int          id = 0;
   CallbackType type;
   union {
       VoidCb vcb;
       IdCb  idcb;
   } function;

   Task( VoidCb cb ) : type( cbVoid ), function( cb ) {}
   Task( IdCb cb ) : type( cbId ), function( cb ) {}

   void call() {
       switch( type ) {
           case cbVoid : function.vcb(); return;
           case cbId : function.idcb( id ); return;
       }
   }
};

index.js

        var User= require("../models/user.js");

        var profileUpdate= function(req, res, done){

        User.findOne({"basic.usernameID": req.body.basicUsernameID}, function(err, user){

            if(err){

                return done(err)

            }

            user.profile.email= req.body.emailInput;

            user.save(function(err){

                if(err){

                    return done(err)

                }

                return done(null, user) /*this line seems to cause trouble*/

            });

        });

    }

    exports.profileUpdate=profileUpdate;

提前感谢您的帮助!

0 个答案:

没有答案