Я хотел бы знать, как наилучшим образом обрабатывать событие api. Моя первая мысль заключается в том, чтобы обернуть его в обратный вызов api, но у меня есть ощущение, что я блокирую здесь и что это не лучший подход.Событие api и/или обратный вызов api в nodejs
Учитывая У меня есть LIB, который возвращает значения из БД, и это evented:
var connection = new Connection(config);
var query = new Query();
query.on('data',function(row){});
query.on('done',function(){});
Это мое взятие ...
getAllCustomer(clb){
var connection = new Connection(config);
var query = new Query();
var results = [];
query.on('data',function(row){
results.push(row);
});
query.on('done',function(){
clb(results);
});
connection.execute(query);
connection.close();
}
Я хотел бы использовать это в hapijs или expressjs приложение
, как использовать его, как это
handler: function(request,reply){
getAllCustomer(function(err,result){
reply(result);
});
}
getAllCustomers(), кажется, блокируется, пока запрос не будет выполнен! Итак, каков был бы рекомендуемый способ справиться с этим? Является ли дизайн dessicion правом обернуть событие api в обратном вызове api? Или мне нужно передавать строки потоковой передачи вместе с expressjs/hapijs? Итак, я ищу способ наилучшей практики ... путь узла ...
Спасибо за любую помощь.
Я изменил api, теперь я, чтобы закрыть вызов в callback, и кажется, лучше, спасибо! – silverfighter