У меня есть код snipet вроде этого:создать функцию обратного вызова, вместо того, чтобы использовать вар флага для управления, когда определенная функция выполняется
var nbrPrevArt = $("#accordion > div .accordionPanel").size();
var processing = false;
if (nbrPrevArt == 0) {
processing = true;
getArticlesPreview();//Fetches articles first
}
//loop that makes the browser to wait until finishes "getArticlesPreview()"
while(!processing)
{
}
//getArticlesPreview() is finished now we can safely execute this step
$.ajax({
type: "GET",
url: "http://mydomain.com/somepage.htl",
success: function(data) { alert(data);}
});
//-----------------------------------
function getArticlesPreview()
{
//lenghty operation
processing = false;
}
выглядит не очень практично, потому что я использую цикл, чтобы сделать он ждет, пока функция будет выполнена успешно, чтобы выполнить следующий шаг.
Есть ли способ определить сообщение обратного вызова, которое будет вызываться, когда выполняется первая операция, и чтобы мой второй шаг (вызов $ .ajax) внутри него работал правильно?
Спасибо заранее! Teixeira
+1, хороший трюк, я никогда бы не подумал, что – karim79