Я разрабатываю библиотеку Javascript поколения AJAXy для набора приложений, в которых поведение обратного вызова зависит от приложения.Функции API, которые я представляю, принимают набор обратных вызовов, которые придают функциональность различным кнопкам и другим событиям, происходящим в стандартной форме:
- onLoadCallback [Когда форма полностью загружена]
- onSaveCallback [Когда сохранение успешно обработано]
- onCancelCallback [При нажатии кнопки отмены]
- busyCallback [Всякий раз, когда выполняется операция AJAX]
- readyCallback [Когда AJAXоперация завершается]
Например, одно приложение хочет отобразить эту форму в новом всплывающем окне, а другое - встроить ее в существующую страницу.Во всплывающем сценарии onSaveCallback закроет всплывающее окно и отправит сообщение на страницу запуска.В встроенном сценарии onSaveCallback должен перезагрузить содержимое формы, повторно запустив функцию.
Существует ли стандартный, более простой способ сделать этот рекурсивный обратный вызов, который не записывает функцию дважды, как показано ниже?
MyFormLibrary.displayForm(
div,
formName,
query,
onLoadCallback,
function onSaveCallback(result) {
MyFormLibrary.displayForm(
div,
formName,
query,
onLoadCallback,
onSaveCallback,
onCancelCallback,
busyCallback,
readyCallback);
},
onCancelCallback,
busyCallback,
readyCallback);