У меня есть много блоков кода JavaScript/jQuery для обработки асинхронных данных обработки данных на моей странице. Каждый кодовый блок имеет три функции (код является неполным и только для иллюстративных целей):Рефакторинг многих вызовов jQuery Ajax - лучшая практика?
инкапсулирует
$.ajax
вызова:function doSomething(data){ // do some preprocessing $.ajax({}); // some JQuery Ajax operation that accepts data // do some postprocessing return false; }
обрабатывает ответ:
function handleResponse(result){ // process the result return false; }
обрабатывает любой ошибка:
function handleError(XMLHttpRequest, textStatus, errorThrown){ // gracefully handle the Error and present relevant information to user return false; }
На странице, которая требует много обработки данных, я в конечном итоге иметь много этих блоков, которые, как представляется, дублирование, поэтому я решил сделать некоторые рефакторинга.
Я полагаю, что это будет по-другому.
- Возможно, имеется один обработчик ошибок, который можно использовать повторно через вызовы Ajax (очевидно).
- Возможно, можно использовать несколько обработчиков ответов, но это было бы неудобно, так как ответы очень разные в зависимости от вызова.
- Возможно, создается какой-то прототип объекта, который обеспечивает базовую функциональность и имеет статический метод обработки ошибок (это можно сделать в JavaScript?).
Мне просто интересно, если кто-нибудь встретил это и/или если для этого есть решение для лучшей практики?
Было бы полезно, чтобы увидеть код. –