3 ms·
I think: app.get('/thing', function (req, res) { try { await user = db.get({user: req.user}); res.send({user:user}); } catch {
by rzimmerman 12y ago
I think:
app.get('/thing', function (req, res) {
try {
await user = db.get({user: req.user});
res.send({user:user});
} catch {
res.send(400);
}
});
beats the hell out of:
app.get('/thing', function (req, res) {
db.get({user: req.user}, function (err, user) {
if (err) return res.send(400);
res.send({user:user});
});
});
especially when you have conditionals or loops that can look like:
if (user.name == 'abc') {
resp = 5;
} else {
await resp = db.get_resp({user:user});
}
await db.save(something);
I suppose it doesn't get rid of callbacks, just makes them readable.
- nawitus 12y agoAnd the promise version for comparison: app.get('/thing', function (req, res) { db.get({user: req.user}).done(user => { res.send({user:user}); }, error => { res.send(400); }); });
- masklinn 12y ago> I suppose it doesn't get rid of callbacks, just makes them readable. You are the one who stated generators were no solution to callback hell but async/await was, yet here's what your code looks like with generators: app.get('/thing', function* (req, res) { try { let user = yield* db.get({user: req.user}); res.send({user: user}); } catch { res.send(400); } }); ...