異步回調(diào)地獄的避免方式除了用async模塊之外擦囊,還可以使用eventProxy,代碼如下:
var ep = new EventProxy();
ep.all('tpl', 'data', function (tpl, data) { // or ep.all(['tpl', 'data'], function (tpl, data) {})
// 在所有指定的事件觸發(fā)后,將會(huì)被調(diào)用執(zhí)行
// 參數(shù)對(duì)應(yīng)各自的事件名
});
fs.readFile('template.tpl', 'utf-8', function (err, content) {
ep.emit('tpl', content);
});
db.get('some sql', function (err, result) {
ep.emit('data', result);
});