我想知道,在開發數據庫調用node.js api時,保持代碼乾燥的最佳實踐是什麼。node.js api keep code dry
我好像我有很多重複的代碼。
例如,看看這個:
app.get('/api/users_count', function (req,res) {
pool.connect(function(err, client, done) {
if(err) {
return console.error('error fetching client from pool', err);
}
client.query('SELECT count(*) FROM users;', function(err, result) {
done();
if(err) {
return console.error('error running query', err);
}
res.json({"users count": result.rows[0].count});
});
});
});
這:
app.get('/api/users/:id', function (req,res) {
pool.connect(function(err, client, done) {
if(err) {
return console.error('error fetching client from pool', err);
}
client.query('SELECT name FROM users WHERE id=$1;',req.param.id, function(err, result) {
done();
if(err) {
return console.error('error running query', err);
}
res.json({"user name": result.rows[0].name});
});
});
});
如何避免錯誤處理的重複,連接電話,並只專注於路線和查詢。
謝謝!
其中之一,你可以使用['pool.query()'](https://github.com/brianc/node-pg-pool#your-new-favorite-helper-method)而不是'connect( )/查詢()/()完成'。 – robertklep
謝謝!使用API調用和pool.query完成這項工作! 我想我可以使用pool.on進行常見的錯誤處理,對吧? –
使用'pool.on()'進行全局錯誤處理的問題在於,您可能無法發送HTTP響應(如500)來指示發生錯誤(因爲'on'處理程序贏了'無法訪問'res')。 – robertklep