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

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

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

Регистрация: Jun 2008
Сообщений: 283
Thumbs up Последовательность выполнения методов

Приветствую всех.
Хотелось бы закрыть пробел в вопросе о последовательности выполнения методов в as3.


К примеру, имеется некий метод "update_all()",
в котором одним за одним происходит вызов других методов:
Код AS3:
public function update_all():void {
			this.update_1();
			this.update_2();
			this.update_3();
		}
Верно ли я понимаю, что все эти три метода "update_1()", "update_2()" и "update_3()" будет выполняться одновременно (параллельно друг другу)? Если это так, то каким способом возможно сделать так что бы они выполнялись последовательно (то есть, что бы выполнение метода "update_2()" стартовало только после того как будут выполнены все итерации метода "update_1()")?

Может метода "update_1()" объявить как "set update_1()":
Код AS3:
private function set	update_1 (_value:String):void {
 
		}
и вызывать его "с присвоением":
Код AS3:
this.update_1 = '';
Гарантирует ли такой способ то, что метод "update_2()" "стартанёт" после того как будет выполнены все итерации в теле метода "set update_1()"?

Спасибо.

Старый 26.02.2013, 14:02
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 2  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
Верно ли я понимаю, что все эти три метода "update_1()", "update_2()" и "update_3()" будет выполняться одновременно (параллельно друг другу)?
Нет, неверно. Методы выполняются в порядке, в котором они присутствуют в коде.

Цитата:
Может метода "update_1()" объявить как "set update_1()":
Акцессоры (геттеры и сеттеры) - это лишь "синтаксический сахар", фактически они ничем не отличаются от обычных методов. И порядок их выполнения точно такой же, как и для всех остальных методов.
__________________
...вселенская грусть

Старый 26.02.2013, 14:08
Evgan вне форума Посмотреть профиль Отправить личное сообщение для Evgan Найти все сообщения от Evgan
  № 3  
Ответить с цитированием
Evgan

Регистрация: Jun 2008
Сообщений: 283
Цитата:
Сообщение от gloomyBrain Посмотреть сообщение
Нет, неверно. Методы выполняются в порядке, в котором они присутствуют в коде.
Подскажите пожалуйста, где можно почитать об этом, так как меня уверяют что as3 асинхронен. Или асинхронность as3 проявляется в другом?

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Асинхронных методов непосредственно в AS3 нет. Есть лишь обертка вокруг того, что делает FlashPlayer.
Если на пальцах, то есть всего 2 разновидности кода во Flash - код, который написал программист (Вы, например) и код который написал разработчик самого FlashPlayer (сотрудник Adobe).
Код который пишете Вы всегда синхронен и выполняется именно в том порядке, в котором написан.
Код который написан где-то внутри FlashPlayer может быть каким угодно, синхронным или асинхронным. Но в случае если код асинхронный - он обязательно уведомит Вас о том, что он таки закончил выполняться. Для этого во Flash есть события (flash.events.Event), о которых можно почитать в справке.
__________________
...вселенская грусть

Старый 26.02.2013, 14:33
Evgan вне форума Посмотреть профиль Отправить личное сообщение для Evgan Найти все сообщения от Evgan
  № 5  
Ответить с цитированием
Evgan

Регистрация: Jun 2008
Сообщений: 283
gloomyBrain спасибо большое за разъяснение.

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

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

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


 


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


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