Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.09.2014, 19:52
grafillo! вне форума Посмотреть профиль Отправить личное сообщение для grafillo! Найти все сообщения от grafillo!
  № 1  
Ответить с цитированием
grafillo!

Регистрация: Sep 2011
Сообщений: 366
По умолчанию Как сделать чтобы функция запускалась только после выполнения другой функции

Как сделать так чтобы функция openUserPrivate(e); запускалась только после того как функция sendRequestLRtrue(); загрузила данные, а то она срабатывает первей чем данный успевают распарситься и вылетает ошибка((. Также структура проги такова что openUserPrivate(e); принимает в себя событие мыши поэтому вызвать её из sendRequestLRtrue(); не получится. Есть ли какоето решение?
Код AS3:
public function openPrivateUserFromDialog(e:MouseEvent){
        sendRequestLRtrue(); // загружает данные
	drawPrivatePeople(e.target.login);
	openUserPrivate(e);
 
}

Старый 23.09.2014, 20:09
Gerbert вне форума Посмотреть профиль Найти все сообщения от Gerbert
  № 2  
Ответить с цитированием
Gerbert
Banned

Регистрация: Aug 2014
Сообщений: 461
Конечно есть! Сделать по человечески или согласится с тем, что "меня и абы чего устроит" и вызывать сохраненные куда-то методы, которые должны идти после загрузки, после загрузки.

Старый 23.09.2014, 20:54
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 3  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
после загрузки данных послать событие об их загрузке и по этому событию уже вызывать openUserPrivate(e);

Вызвать его можно и без события мыши так:
Код AS3:
openUserPrivate(null);
при условии, что сам объект события никак не используется в обработчике
__________________
Ко мне можно и нужно обращаться на ты)

Старый 25.09.2014, 23:32
ZergMaster вне форума Посмотреть профиль Отправить личное сообщение для ZergMaster Найти все сообщения от ZergMaster
  № 4  
Ответить с цитированием
ZergMaster
 
Аватар для ZergMaster

Регистрация: May 2008
Адрес: Питер
Сообщений: 385
Отправить сообщение для ZergMaster с помощью ICQ Отправить сообщение для ZergMaster с помощью Skype™
да, либо создавать евент, либо добавить в sendRequestLRtrue() callback функцию. Типа того:

Код AS3:
public function openPrivateUserFromDialog(e:MouseEvent){
             drawPrivatePeople(e.target.login);
             sendRequestLRtrue(function ():void {
                      openUserPrivate(e);
                      })
             }
Код AS3:
private function sendRequestLRtrue(callback:Function):void {
//происходит загрузка, много всякого всего разного интересного и не очень
//а когда загрузка завершена, все путем, вызываем функцию
callback();
}
Так же таким макаром можно передавать переменные через callback функцию

ЗЫ:Но лучше, конечно, пользоваться событиями. Красивее. )
__________________
while(live()) { hope(); }

Создать новую тему Ответ Часовой пояс GMT +4, время: 08:18.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 08:18.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.