надо было расписать так ( я про первые строчки,до
$.post )
тогда и понять было бы легче
и почему-то у меня неуверенность насчет переменной
func и самой рекурсии
// это массив [ название, этого, материала ]
var bquery = "Это название этого материала".match(/([а-яёa-z]){4,}/gi)
// номер слова в массиве
var n = 0;
// ищем "название"
$.post('/load/', {query: bquery[n], a: 2}, function(data){
// ссылка на обработчик результата. т.е. на эту анонимную функцию
var func = arguments.callee;
if( !norez ){
/* что приходит при верном или неверном слове из архива?
у меня будет слово Error */
if( data == 'Error' ) {
// проверка на наличие такого индекса в массиве
if( n < bquery.length ){
/* через половину секунды отсылаем POST-запрос серверу со следующим словом
++n <- это 1. тоесть слово ---> "этого"
важно отметить,что обработчик будет ТАКОЙ ЖЕ, т.е. опять вызовет POST-запрос, но уже с увеличенным "n" ( 3 , слово -> "материала") */
setTimeout( function(){ $.post('/load/', {query: bquery[++n], a: 2}, func); }, 500 );
// мы прошли все элементы массива, поиск неудачен
} else {
alert( 'НЕ НАЙДЕНО' );
}
}
}
});