刚开始写node,感觉写出来的代码太丑了,可读性也不强。下面这段代码是一个简单的注册逻辑,用了Promise,希望大神拍砖,给一些风格或者是写法上的建议:
register: function(req, res) {
var sha1 = require('crypto').createHash('sha1');
var email = req.body.email;
var password = sha1.update(req.body.password).digest('hex');
var connect = mysql.connect(__dirname + '/../mysql.json', 'dbname');
var sql = 'into user(email, password) value (?, ?)';
emailAlreadExists(email).then(function() {
addUser(email, password)
.then(function(id) {
res.send(res.send(lib.genAjaxRet(0, 'success', {id: id})));
});
}, function() {
res.send(lib.genAjaxRet(10001, lib.s('EMAIL_EXISTS')))
});
}
回复 (14)
J
register: (req, res) ->
sha1 = require('crypto').createHash('sha1')
email = req.body.email
password = sha1.update(req.body.password).digest('hex')
connect = mysql.connect(__dirname + '/../mysql.json', 'dbname')
sql = 'into user(email, password) value (?, ?)'
emailAlreadExists(email).then ->
addUser(email, password).then (id) ->
res.send res.send(lib.genAjaxRet(0, 'success', id: id))
->
res.send lib.genAjaxRet(10001, lib.s('EMAIL_EXISTS'))
请上 Coffee 贼船
L
引用 jysperm请上 Coffee 贼船
@jysperm 这个又是 -> 又是 "." 的, 感觉整个人都混乱了
F
可参考 airbnb JavaScript 编码风格
L
引用 fundon可参考 airbnb JavaScript 编码风格
@cfddream 多谢
L
引用 andyhu@louis sherren 还是用Koa + co吧,写异步代码简单到和写PHP代码差不多了
@andyhu 我现在的网站已经用 express 搭建得差不多了,请教下直接用express + co有什么不好的地方呢?
M
@jysperm 也不见得好到那去啊~
T
var crypto = require('crypto');
var mysql = require('mysql');
var connect = mysql.connect(__dirname + '/../mysql.json', 'dbname');
function secret(password) {
var sha1 = crypto.createHash('sha1');
var spassword = sha1.update(password).digest('hex');
return spassword;
}
function register(req, res) {
var email = req.body.email;
var password = secret(req.body.password);
var sql = 'into user(email, password) value (?, ?)';
function add() {
addUser(email, password).then(function(id) {
res.send(res.send(lib.genAjaxRet(0, 'success', {id: id})));
});
}
function exists() {
res.send(lib.genAjaxRet(10001, lib.s('EMAIL_EXISTS')));
}
emailAlreadExists(email).then(add, exists);
}
A
引用 louis-sherren@jysperm 这个又是 又是 "." 的, 感觉整个人都混乱了
@louis-sherren 还是用Koa + co吧,写异步代码简单到和写PHP代码差不多了
L
引用 tulayang
@tulayang 嗯,把回调专门拿出来确实清爽得多
L
引用 andyhu@louis sherren 还是用Koa + co吧,写异步代码简单到和写PHP代码差不多了
@andyhu 得看看文章,还不太了解, 发现这篇还不错的样子http://purplebamboo.github.io/2014/05/24/koa-source-analytics-1/
A
避免使用回调,用yield吧。 团队协作的代码规范见这里:http://www.amoa400.com/team-collaboration-standard/
L
引用 amoa400避免使用回调,用yield吧。 团队协作的代码规范见这里:http://www.amoa400.com/team collaboration standard/
@amoa400 嗯,正如@andyhu 所说的
A
引用 louis-sherren@andyhu 我现在的网站已经用 express 搭建得差不多了,请教下直接用express + co有什么不好的地方呢?
@louis-sherren 也没什么不好,习惯用哪个就用哪个吧。如果习惯了koa,会觉得koa更方便和简洁灵活一些。不过差不了太多。koa的缺点是内核完全不带任何middleware,所有功能基本都要靠其他middleware模块来完成。目前用户贡献模块比较杂,需要逐一对比和试用。
参与回复
登录后即可参与回复。登录