Если вы ожидаете, что потребители сами обработают состояние ошибки, самое простое решение - просто не улавливать ошибки.Однако вы должны обрабатывать ошибки, которые могут раскрыть конфиденциальную информацию или ошибки, вызванные сложными операциями;в этих случаях лучше поймать и перебросить (или отклонить) менее описательное сообщение об ошибке вместо полной трассировки стека или более конкретное сообщение об ошибке.
Похоже на ваш *Функция 1003 * ожидает два аргумента: body
и extractResponseCallback
.Ваша экспортированная функция recording
всегда вызывает ее только с одним аргументом - следовательно, ошибка о том, что undefined
не является функцией.
Решение состоит в том, чтобы экспортировать замыкание, связанную функцию или делегировать функцию.аргументы для передачи во втором аргументе, который httpRequestHelper
ожидает.В вашем случае делегирование аргументов - это, вероятно, то, что вам нужно, так как ваш потребитель все еще должен вызывать замыкания и связанные функции.
Закрытие
function recordings() {
return function(callback) {
return httpRequestHelper({ type: 'request', cmd: 'recordings' }, callback);
};
}
Связанная функция
function recordings() {
return httpRequestHelper.bind(null, { type: 'request', cmd: 'recordings' });
}
Делегированные аргументы
function recordings(callback) {
return httpRequestHelper({ type: 'request', cmd: 'recordings' }, callback);
}