getProducts(orderId, (err, products) => { getStock(products, (err, hasStock) => { calculateTotal(products, (err, total) => { getShipping((err, shipping) => { confirmPurchase(orderId, shipping, (err, message) => { callback(null, message) }) }) }) }) }) } finishOrder(123, (err, message) => { // ... }) 13