не своевременное исполнение функции 
		
		
		
		Делаю первые шаги в написании userscript-ов. Столкнулся с проблемой когда результат выполнения функции появляется позже, чем исполняются следующие за ней операторы.(Конечно сужу по алертам, могу и ошибаться, тем более ошибка где-то ведь существует). Был бы рад помощи. 
	Вот фрагмент: 
// вызов
           var kk=0;
	var kk=rez_snab (urlsnab);
	alert(kk);
//.................................................
    function rez_snab(url2) {
      var k=0
      	$.get(url2, function(data) {
	  k=2;
	alert(k);
         });
	alert(k);
	return k;
    }
По алертам получается: 0(kk), 2(k) , 2(k). Хотелось бы понять почему kk!=2.  | 
	
		
 Andrey-Iz, 
	У Вас ассинхронный Аякс, поэтому обработку ставим в саllback Аякс функции (или вызывайте из саllback доп функцию обработки/отображения  | 
	
		
 К своему стыду не понимаю вашего ответа. Может чуток по расширенней. 
	 | 
	
		
 function(data) выполнится после того, как будет получен ответ от сервера.  
	Так как запрос асинхронный, то пока нет ответа будет выполняться весь остальной код. Но у вас получается так, если я не ошибаюсь. 0(k) -> приходит ответ, k=2 -> 2(k) -> 2(kk)  | 
	
		
 skfyann, если я правильно понял, то как сделать чтобы основная функция "ждала" function(data) ? 
	 | 
	
		
 Цитата: 
	
  | 
	
		
 skfyann, и по алертам именно так :0(kk), 2(k) , 2(k) 
	Т.е. var kk=rez_snab (urlsnab) как-бы игнорируется.  | 
	
		
 
// вызов
           var kk=0;
	var kk=rez_snab (urlsnab);
//Обработка
    function MyFunc(k,gata) {
      	  alert(k);
    }
//.................................................
    function rez_snab(url2) {
      var k=0
      	$.get(url2, function(data) {
      	   k=2; MyFunc(k,gata) ;
         });
    }
 | 
	
		
 Deff, прошу прощения что не сразу отвечаю.(дела) 
	Спасибо. Скопировал ваш вариант. Вашу мысль вроде понял, но вот скрипт нет. Цитата: 
	
 
$.get(url2, function(data) {
	           k=2; MyFunc(k,data) ;
	         });
Исправил в вызове gata на data. Понимаю что так должно быть.  | 
	
		
 Т.е последовательность такова: 
	к=0 $... - пропускается кк = к //т.е.=0 $... - cрабатывает к=2 Но уже поздно. кк получено и =0 :(  | 
| Часовой пояс GMT +3, время: 04:26. |