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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.04.2007, 16:03
Alex T вне форума Посмотреть профиль Отправить личное сообщение для Alex T Найти все сообщения от Alex T
  № 1  
Ответить с цитированием
Alex T

Регистрация: Nov 2005
Адрес: Donetsk
Сообщений: 203
По умолчанию Странная асинхронность кода.

к сожалению код показать не могу, т.к. он состоит из большого числа классов...
постараюсь показать "на пальцах"...

есть код:

Код:
public function callMethod() {
     this.dispatchEvent({type:"onEvent"});
     trace("label");
}
так вот обработчик, которые стоит на событии onEvent срабатывает быстрее , чем trace... при том, что обработчик вызывает еще несколько методов другого класса и все они успевают быстрее отработать...

вопрос - может ли мне кто-нибудь это объяснить? и может кто-нибудь с подобным встречался?
__________________
КВН

Старый 25.04.2007, 16:10
MyXus вне форума Посмотреть профиль Отправить личное сообщение для MyXus Посетить домашнюю страницу MyXus Найти все сообщения от MyXus
  № 2  
Ответить с цитированием
MyXus
 
Аватар для MyXus

Регистрация: Mar 2001
Адрес: msk
Сообщений: 1,416
Я с диспачем не работал, но. по-моему, логично. Код выполняется линейно. Создали событие - мгновенная отработка. Отработали - поехали дальше.
Разве где-то сказано что ивенты ловятся после диспача с задержкой..

Старый 25.04.2007, 16:10
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Ничего асинхронного не вижу. EventDispatcher пробегается по массиву слушателей и у каждого вызывается метод. У вас же не возникает вопросов, что такая конструкция работает:

Код:
for (var … ) {
    var item = …
    item.anyMethod();
}
trace('label');
И что метод anyMethod у каждого клипа сработает раньше трейса?

Старый 25.04.2007, 17:02
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Цитата:
Сообщение от __etc
Ничего асинхронного не вижу. EventDispatcher пробегается по массиву слушателей и у каждого вызывается метод. У вас же не возникает вопросов, что такая конструкция работает
...и что рекурсия работате нормально.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 25.04.2007, 17:18
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Да, рекурсия тоже.

Старый 26.04.2007, 13:44
jinzito вне форума Посмотреть профиль Отправить личное сообщение для jinzito Найти все сообщения от jinzito
  № 6  
Ответить с цитированием
jinzito
 
Аватар для jinzito

Регистрация: Dec 2006
Сообщений: 33
а если так ? =)
Код:
public function callMethod() {
     trace("label");
     this.dispatchEvent({type:"onEvent"});
}

Старый 26.04.2007, 13:46
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Замечательно. И что ты хотел этим сказать?

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

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

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


 


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


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