Показать сообщение отдельно
Старый 04.09.2015, 12:26
Korchy вне форума Посмотреть профиль Отправить личное сообщение для Korchy Найти все сообщения от Korchy
  № 1  
Ответить с цитированием
Korchy
 
Аватар для Korchy

Регистрация: May 2011
Сообщений: 301
Записей в блоге: 2
По умолчанию Ожидание загрузки

Наверное тупой вопрос, но что-то он меня сомневает.
Есть список игроков с аватарками. Аватарки могут быть и не загружены сразу т.к. список большой. Поэтому при обращении к списку, в каждом элементе списка (карточке игрока), я проверяю на загрузку картинок с аватарками.
userList простой список с указателями на данные игроков.
При обращении к определенной карточке, если аватарка не загружена, всегда сразу вызывается загрузка с последующим диспатчем события LOADED.

Так вот, корректно ли выводить список карточек так:
Код AS3:
var currentUserCard:userCard = usersList.ById(userid);
if (currentUserCard.Loaded == false) {
   // Не может ли событие выскочить здесь, т.е. после проверки условия (что не загружена аватарка) но до подписки на это событие ???
   currentUserCard.addEventListener(userCard.LOADED, onCardLoaded);
}
else showCard(currentUserCard);
 
private function onCardLoaded(e:Event):void{
   showCard(e.target);
}
Я понимаю, что код исполняется последовательно и событие выскочить не должно вроде бы, но что-то точат сомнения.
По логике сначала должна быть подписка на событие, а потом вызов загрузки. Но тогда при каждом обращении к карточке надо не забывать писать лишнюю инструкцию currentUserCard.loadAvatar().
Или все же можно вызывать ее в конструкторе карточки и ждать события как я написал выше?
__________________
interplanety