Как в своей асинхронной функции правильно добавить возможность добавления информации об ошибке - почему операция выполнена не успешно? В C# я бы определил бы собственные классы исключений. А в callback я могу передать вторым параметром или done : true/false (операция выполнена/не выполнена) или null (объект не найден).
self.myAsyncFunctionWithCallback(param1, param2, cb) {
if(typeof cb !== 'function'){ return new Error('this is an async function and expects a callback'); }
if (err) { return cb(err); } // Возникло исключение, возвращаем ее, нет разультата
return cb(null, true); // Нет исключения, операция прошла успешно
return cb(null, false); // Нет исключения, операция прошла неуспешно, кода возврата нет
return cb(null, 0); // Нет исключения, операция прошла успешно, код возврата 0
return cb(null, 1); // Нет исключения, операция прошла неуспешно, код возврата 1
return cb(null, obj); // Нет исключения, операция прошла успешно, вернули обьект
return cb(null, null); // Нет исключения, операция прошла неуспешно, объект не возвращается, кода возврата нет
}
.