Ну например вот так:
function data_upload(name_first, name_last) {
var ajax = new ajax_object()
ajax.set('name_first', name_first)
ajax.set('name_last', name_last)
return ajax.upload()
}
alert('Данные ' + (data_upload('Вася', 'Пупкин') ?
'сохранены' : 'не сохранены'))
Более компактная и удобная форма ипользования могла бы получиться, только и всего...
Сейчас необходимо проделывать что-то вроде следующего:
function data_upload(name_first, name_last, callback) {
var ajax = new ajax_object()
ajax.set('name_first', name_first)
ajax.set('name_last', name_last)
ajax.upload(callback)
}
function callback(ajax) {
alert('Данные ' + (ajax.ok ? 'сохранены' : 'не сохранены'))
}
data_upload('Вася', 'Пупкин', callback)
Кода намного больше, и он не всегда удобен... я бы даже сказал что неудобен всегда.
P.S. Не вызывает же необходимость обращения скажем к Math описывать callback функции для этого. Результат можно получить непосредственно в местах вызова. Вот и Ajax завернуть в "обертку" такой концепции было бы очень хорошо. Тоесть без использования функций callback.
Вообще говоря callback всё равно был бы. Но он был бы неявным. Единственная задача такой callback функции - опустить флаг занятости процеса ajax - тоесть просигнализировать что данные пришли и ожидание (использующее ProcessMessages) можна прекращать.