Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.02.2012, 14:06
Аспирант
Отправить личное сообщение для Rentony Посмотреть профиль Найти все сообщения от Rentony
 
Регистрация: 15.12.2011
Сообщений: 50

как запустить функцию после другой функции
вопрос, как запустить функцию B после исполнения функции A ?
Ответить с цитированием
  #2 (permalink)  
Старый 07.02.2012, 14:13
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

A();
B();

Кэп.
__________________
readOnly
Ответить с цитированием
  #3 (permalink)  
Старый 07.02.2012, 14:38
Аспирант
Отправить личное сообщение для Rentony Посмотреть профиль Найти все сообщения от Rentony
 
Регистрация: 15.12.2011
Сообщений: 50

нет, функция А начинает исполнятся во время исполнения функции В, а надо что бы по завершении исполнения... в общем хочу сделать что бы пока функция В исполняется, кнопка вызова этой функции была не активна, а как закончила исполнятся, стала активна
Ответить с цитированием
  #4 (permalink)  
Старый 07.02.2012, 14:53
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

Ну, предположим, ваша функция A исполняется 3 секунды, потому что в ней цикл до 100500000, вы не сможете нажать ничего в этот момент. Пример-то приведите

// НЕ ЗАПУСКАТЬ
var i = 1e10; while (i--){}


Можете попробовать
__________________
readOnly
Ответить с цитированием
  #5 (permalink)  
Старый 07.02.2012, 16:31
Аспирант
Отправить личное сообщение для Rentony Посмотреть профиль Найти все сообщения от Rentony
 
Регистрация: 15.12.2011
Сообщений: 50

в общем вот после этого надо запустить функцию A
k2=k;
				ml_2=new YMaps.YMapsML(ml_href+'2.php?'+zapros);
				YMaps.Events.observe(ml_2, ml_2.Events.Load, function () {
					obj2 = this.filter(function (obj2) {
						return (obj2.name)
					})
					cluster.addPlacemarks(obj2);
				})

после того как массив obj2 добавится в кластер (cluster.addPlacemarks(obj2)
Ответить с цитированием
  #6 (permalink)  
Старый 07.02.2012, 16:35
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

А, так вот что вы имели ввиду под одновременным выполнением функции. Я так понял это асинхронные операции с колбэком. Так вызвайте A прямо после cluster.addPlacemarks(obj2);

k2=k;
ml_2=new YMaps.YMapsML(ml_href+'2.php?'+zapros);

YMaps.Events.observe(ml_2, ml_2.Events.Load, function () {
    obj2 = this.filter(function (obj2) {
        return (obj2.name);
    });
    cluster.addPlacemarks(obj2);
    A(); //ВОТ ТУТ. Кэп
});
__________________
readOnly
Ответить с цитированием
  #7 (permalink)  
Старый 07.02.2012, 16:54
Аспирант
Отправить личное сообщение для Rentony Посмотреть профиль Найти все сообщения от Rentony
 
Регистрация: 15.12.2011
Сообщений: 50

не совсем поняли, сейчас подробнее опишу ситуацию)
весь код расписывать не буду, приведу пример, в общем пока выполняется функция B, кнопка должна быть не активна, после выполнения функции, кнопка должна быть активна, переменные r1 и r2 могут быть обе равны 1 одновременно, всегда по разному, смотря что пользователь нажмет
function B(){
$("#button").attr('disabled', true);//дизактивируем кнопку
 if (r1==1){
  cluster.addPlacemarks(obj1); //занимает n-е время
 }
 if (r2==1){
  cluster.addPlacemarks(obj2); //занимает n-е время
 }
}
function A(){
 $("#button").attr('disabled', false);
}
Ответить с цитированием
  #8 (permalink)  
Старый 07.02.2012, 17:01
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

aa, понял какая операция асинхронная. Я с этим API не работал, надо вам доки читать, мне кажется что 100% по завершению запроса поджигается какое то событие или возвращает что-то типа Deferred
__________________
readOnly

Последний раз редактировалось poorking, 07.02.2012 в 17:07.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JS классы - как объединить функции в класс olga153b Events/DOM/Window 3 01.11.2011 13:13
Как вызвать функцию из функции ? PheonixS AJAX и COMET 7 20.06.2010 09:51
Как вызвать событие после события определенного в onchange Наталья Events/DOM/Window 2 12.09.2009 13:51
Переменная от переменной или как к имени переменной конкатенировать значение другой Aderba jQuery 5 12.11.2008 15:25
Как передать элемент в функцию после createElement Oleg NT Общие вопросы Javascript 3 23.06.2008 02:11