Итак, общее соглашение для функций обратного вызова в 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, ...] } );
}