Slide 23
Slide 23 text
callback pyramid of doom
function archiveOrders(date, cb) {
db.connect(function(err, conn) {
if (err) return cb(err);
conn.query("select * from orders where date < ?",
[date], function(err, orders) {
if (err) return cb(err);
helper.each(orders, function(order, next) {
conn.execute("insert into archivedOrders ...",
[order.id, ...], function(err) {
if (err) return cb(err);
conn.execute("delete from orders where id=?",
[order.id], function(err) {
if (err) return cb(err);
next();
});
});
}, function() {
console.log("orders have been archived");
cb();
});
});
});
} // source streamline.js