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

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

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

Регистрация: Jan 2011
Сообщений: 5
По умолчанию ожидание записи результата в переменную

Код AS3:
package  {
	import flash.events.Event;
	import flash.net.*;
 
	public class Question {
		public var id:uint;
		public var authorId:uint;
 
		private function setQuestionInfo(e:Event){
			var questionXML:XML = new XML(e.target.data.result);
			var question:XMLList = new XMLList(questionXML);
			this.id = question.question[0].@id;
			this.authorId = question.question[0].author;
		}
 
		private function getQuestionInfo(id:uint, onSuccess:Function){
			var request:URLRequest = new URLRequest();
			request.url = "XXXXXXXXX";
			request.method = URLRequestMethod.POST;
			request.data = new URLVariables("do=getQuestion&id=" + id);
			var loader:URLLoader = new URLLoader();
			loader.dataFormat = URLLoaderDataFormat.VARIABLES;
 
			if(onSuccess == null)
				onSuccess = function() {};
 
			loader.addEventListener(Event.COMPLETE, onSuccess);
			loader.load(request);	
		}
 
		public function Question(id:uint) {
			getQuestionInfo(id, setQuestionInfo);			
		}
	}
}
во фрейме пишу

Код AS3:
var q:Question = new Question(1);
trace(q.id);
получаю на выходе трейса 0, хотя должна быть единица.
если же в функции setQuestionInfo прописать trace(this.id) то все ОК.
как я понимаю результат просто не успевает записаться в переменную id.

как это исправить? поставить какую-нибудь ожидалку?

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

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

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


 


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


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