【发布时间】:2019-11-13 06:25:16
【问题描述】:
我创建了一个 User 类,它将保存将新用户插入 postresql 数据库的逻辑。我的代码运行良好,但我认为它写得不好,想了解如何改进它,尤其是错误处理。
const pool = require('../config/config.js');
// user constructor
class User {
constructor(user) {
this.username = user.username;
this.email = user.email;
this.password = user.password;
this.role = user.role;
}
// save new user in databes
createUser(res) {
pool.connect((err, client, done) => {
done();
if (err) return res.status(400).json({ err });
client.query('INSERT INTO users (username, email, password, role) VALUES($1, $2, $3, $4)', [this.username, this.email, this.password, this.role], (error) => {
if (error) return res.json({ error });
return res.json({ message: 'created successfully' });
});
});
}
}
module.exports = User;
app.post('/', (req, res) => {
const user = new User({
username: 'Femoz',
password: '1234',
role: 'admin',
email: 'femoz@gmail.com',
});
user.createUser(res);
// res.json('user created successfully');
});
【问题讨论】:
-
done()调用看起来不对。
标签: node.js postgresql express