跟着Nodejs 开发指南 书中的 microblog 项目开发,注册功能遇到问题了,求教大神们。。。 user.js的代码段: index.js的代码段: 结果显示:
数据库连上了吗,callback传了吗
@chloe 连上了,能写入数据库,比如注册提交后,它报错了,等再重新启动,可以用刚注册的账号登录。。。 很诡异的是 有时候能注册成功不报错。。
截图没有行号,建议楼主加上行号再截图,行号对于debug是有帮助的
@119786155 没注意看,哈哈
@namletneg 这个教程错的离谱。作者完全不懂异步代码。 我帮你改了下,你要是想接着学可以看看。
User.prototype.save = function save(callback){ var user = { name: this.name, password: this.password, }; mongodb.open(function(err, db){ if(err){ return callback(err); } db.collection('users', function(err, collection){ if(err){ mongodb.close(); return callback(err); } collection.ensureIndex('name', {unique: true,safe:true},function(err,indexname){ collection.insert(user, {safe: true}, function(err, user){ mongodb.close(); return callback(err, user); }); }); }); }); };
@namletneg 上面代码只是能跑而已,但是对异步代码的处理依然是错误的,实在是不想改这样的代码。
@eeandrew 谢谢,我试试哈
@eeandrew 成功了,十分感谢。。。能解释下是什么原因吗?
@namletneg 异步代码要通过回调处理流程。自己领悟。
@eeandrew 也就是每个处理都有一个回调函数?
里面用的express的大版本应该和现在也不同了吧。
@DavidCai1993 2.5.8版本,很久的了
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
数据库连上了吗,callback传了吗
@chloe 连上了,能写入数据库,比如注册提交后,它报错了,等再重新启动,可以用刚注册的账号登录。。。 很诡异的是 有时候能注册成功不报错。。
截图没有行号,建议楼主加上行号再截图,行号对于debug是有帮助的
@119786155 没注意看,哈哈
@namletneg 这个教程错的离谱。作者完全不懂异步代码。 我帮你改了下,你要是想接着学可以看看。
@namletneg 上面代码只是能跑而已,但是对异步代码的处理依然是错误的,实在是不想改这样的代码。
@eeandrew 谢谢,我试试哈
@eeandrew 成功了,十分感谢。。。能解释下是什么原因吗?
@namletneg 异步代码要通过回调处理流程。自己领悟。
@eeandrew 也就是每个处理都有一个回调函数?
里面用的express的大版本应该和现在也不同了吧。
@DavidCai1993 2.5.8版本,很久的了