2015-04-21 6 views
0

Я получаю грязные руки в Koa.js, и я ищу наилучшую практику при возврате обработки ошибок для генераторов, если таковой имеется. Возьмем следующее:Koa - Лучшая практика для обработки ошибок доходности

var sql = require('./lib/sql'); 

app.use(function *(){ 
    var results = yield sql.query('select top 1 * from farm_animals;'); 
    this.body = results; 
}); 

Теперь подход традиции я бы использоваться, чтобы бы:

sql.query('select top 1 * from farm_animals;', function(err, data){ 
    if (!err) { 
    // return data 
    } 
}); 

Теперь, когда я конвертированы sql.query в Promise, я не могу вернуться err и data , Итак, что я должен вернуть, чтобы правильно сообщить мне об ошибках при возвращении данных? Возможно, я мог бы принять и придерживаться некоторого стандарта:

{ 
    error: null, 
    data: { id: 1, animal: 'cow' }, 
} 

Прежде чем сделать это, однако, я хочу, чтобы убедиться, что это не какой-то принято лучшей практики, что я пропал без вести.

ответ

4

Вы можете использовать блоки try/catch.

Смотрите следующий ответ для получения более подробной информации: Error handling with promises in Koa

+0

пятно на - спасибо - это сработало. – dthree

 Смежные вопросы

  • Нет связанных вопросов^_^