我做错了什么?显而易见的事情正在发生,但却无法实现。
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;
提前感谢您的帮助!