Собственно вот:
/*
* подписываемся на onsubmit от некой формы
* пусть это будет форма добавления комментария
*/
EventHandler.add(document.forms.formName, 'submit', check);
function check(){
/*
* делаем какие-то вещи...
* проверяем поля формы на заполнение...
*/
/*
* а теперь хотим проверить, не потерял ли пользователь авторизацию
* для этого мы вызовем функцию, которая сделает запрос на сервер
* и проверит авторизацию
*
* функция сделает как минимум один запрос.
* допустим авторизация не потеряна
* и нужен реально только один запрос на сервер.
*
* Вопрос! Каким образом можно подождать ответ сервера?
*/
/*
* а здесь нужно вернуть true или false
* точнее ничего не вернуть - разрешить отправку формы
* вернуть false - остановить отправку
*
* вся проблема в ajax запросе выше.
* Ну и конечно же запрос асинхронный.
*/
}
Если товаришь
nerv_ это читает, то вот
это не решение. Обещания позволяют избавиться от пирамид колбэков, но не ждать ajax ответ.