Тема: ProcessMessages
Показать сообщение отдельно
  #3 (permalink)  
Старый 23.08.2008, 19:04
Интересующийся
Отправить личное сообщение для Autosof Посмотреть профиль Найти все сообщения от Autosof
 
Регистрация: 23.08.2008
Сообщений: 20

Ну например вот так:

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) можна прекращать.

Последний раз редактировалось Autosof, 23.08.2008 в 19:09.
Ответить с цитированием