Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Странная асинхронность кода. (http://www.flasher.ru/forum/showthread.php?t=94998)

Alex T 25.04.2007 16:03

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

есть код:

Код:

public function callMethod() {
    this.dispatchEvent({type:"onEvent"});
    trace("label");
}

так вот обработчик, которые стоит на событии onEvent срабатывает быстрее , чем trace... при том, что обработчик вызывает еще несколько методов другого класса и все они успевают быстрее отработать...

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

MyXus 25.04.2007 16:10

Я с диспачем не работал, но. по-моему, логично. Код выполняется линейно. Создали событие - мгновенная отработка. Отработали - поехали дальше.
Разве где-то сказано что ивенты ловятся после диспача с задержкой..

etc 25.04.2007 16:10

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

Код:

for (var … ) {
    var item = …
    item.anyMethod();
}
trace('label');

И что метод anyMethod у каждого клипа сработает раньше трейса?

iNils 25.04.2007 17:02

Цитата:

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

...и что рекурсия работате нормально.

etc 25.04.2007 17:18

Да, рекурсия тоже.

jinzito 26.04.2007 13:44

а если так ? =)
Код:

public function callMethod() {
    trace("label");
    this.dispatchEvent({type:"onEvent"});
}


etc 26.04.2007 13:46

Замечательно. И что ты хотел этим сказать?


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

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