как запустить функцию после другой функции
вопрос, как запустить функцию B после исполнения функции A ?
|
A(); B(); Кэп. |
нет, функция А начинает исполнятся во время исполнения функции В, а надо что бы по завершении исполнения... в общем хочу сделать что бы пока функция В исполняется, кнопка вызова этой функции была не активна, а как закончила исполнятся, стала активна
|
Ну, предположим, ваша функция A исполняется 3 секунды, потому что в ней цикл до 100500000, вы не сможете нажать ничего в этот момент. Пример-то приведите
// НЕ ЗАПУСКАТЬ
var i = 1e10; while (i--){}
Можете попробовать |
в общем вот после этого надо запустить функцию 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);) |
А, так вот что вы имели ввиду под одновременным выполнением функции. Я так понял это асинхронные операции с колбэком. Так вызвайте 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(); //ВОТ ТУТ. Кэп
});
|
не совсем поняли, сейчас подробнее опишу ситуацию)
весь код расписывать не буду, приведу пример, в общем пока выполняется функция 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);
}
|
aa, понял какая операция асинхронная. Я с этим API не работал, надо вам доки читать, мне кажется что 100% по завершению запроса поджигается какое то событие или возвращает что-то типа Deferred
|
| Часовой пояс GMT +3, время: 18:03. |