Почему функция обработки ошибок по какому-то «соглашению программистов» должна первым параметром принимать/возвращать код ошибки, а не сообщение?
Все очень просто.
callback-функция в ноде принимает переменное число аргументов. Если возможную ошибку передавать последним аргументом, то тогда для каждой API-функции нужно будет помнить фактическое количество аргументов callback функции, чтобы ошибку записать в нужную переменную.
Если вам это не нравится - используйте промисы.
Все очень просто.
callback-функция в ноде принимает переменное число аргументов. Если возможную ошибку передавать последним аргументом, то тогда для каждой API-функции нужно будет помнить фактическое количество аргументов callback функции, чтобы ошибку записать в нужную переменную.
Если вам это не нравится - используйте промисы.