Соглашение Node.js о возврате нескольких ошибок через обратный вызов?

Итак, общее соглашение для функций обратного вызова в Node.js состоит в том, чтобы «зарезервировать» первый параметр для ошибки (если существует). Например:

callSomeBlockingFcn( function callbackWhenDone(err, result) {
  if( err ) ...
});

Если вам нужно вернуть более одной ошибки - например, несколько ошибок проверки данных - считается ли передача массива объектов ошибок плохой формой? Пример:

var callSomeBlockingFcn = function(callback) {
  // multiple errors to report back...
  callback( [ err1, err2, ...] );
}

Или предпочтительнее избегать массивов и возвращать единственный объект со свойством, ссылающимся на массив (при необходимости)? Пример:

var callSomeBlockingFcn = function(callback) {
  // multiple errors to report back...
  callback( { errors: [ err1, err2, ...] } );
}

12
задан HostileFork 21 July 2014 в 23:39
поделиться