2015-08-17 2 views
3

Надеюсь, это не слишком абстрактно, но я ищу советы по ожидаемому поведению при создании API модуля узла. Я нахожу, что в моей реализации модуля, проверяя, чтобы вызывающий вызывал обратный вызов, прежде чем я позвоню, он становится беспорядочным. Я начинаю думать, что пользовательская ошибка не дает обратного вызова для API, который явно нуждается в этом, чтобы выполнить свою работу.Ожидаемое поведение при отсутствии обратных вызовов при предоставлении модуля API

Будучи новичком, каков общий шаблон для модулей? Я взглянул на исходный код узла. Кажется, что в некоторых местах они используют функцию, которая свопирует неподдерживаемый обратный вызов с общим, который вызывает ошибку. Это похоже на то, что это может привести к путанице.

Thanks

+0

Один из распространенных шаблонов - интерпретация отсутствия ссылки на функцию обратного вызова в качестве порядка выполнения синхронного метода. –

ответ

1

Вы можете предоставить обратный вызов по умолчанию. В зависимости от ваших потребностей и важности обратного вызова вы можете предоставить функцию noop или только функцию, которая проверяет наличие ошибок.

if (!callback) { 
    callback = function noop() {} 
} 

Выбрасывание или отображение ошибки, которую вы решите. (Лучше не бросать в большинстве случаев)

if (!callback) { 
    callback = function handleError(e) { 
       if (e) console.log(e); 
       // Or 
       if (e) throw(new Error(e)) 
      } 
} 
Смежные вопросы