Показать сообщение отдельно
Старый 19.09.2009, 18:40
greenya вне форума Посмотреть профиль Отправить личное сообщение для greenya Найти все сообщения от greenya
  № 1  
Ответить с цитированием
greenya

Регистрация: Mar 2008
Сообщений: 6
Question Подождать наступления события в этом же методе

Добрый день,

пишу небольшой класс, у него есть статический метод Execute(), задача метода сформировать запрос, отправить, дождаться ответа и вернуть результат. Так чтобы вызывающему коду не нужно было создавать лишние event listener-ы.

Пишу так:
Код AS3:
...
public static function Execute(...
{
...
var r:URLRequest = new URLRequest();
// тут идет заполнение r...
 
var response:Object = null;
 
var l:URLLoader = new URLLoader();
l.dataFormat = URLLoaderDataFormat.TEXT;
l.addEventListener(IOErrorEvent.IO_ERROR, function() { response = new IOError(); });
l.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function() { response = new SecurityError(); });
l.addEventListener(Event.COMPLETE, function(e:Event) { response = URLLoader(e.target).data; });
l.load(r);
 
while (response == null)
	; // БАГ: СДЕСЬ НУЖНО ОЖИДАНИЕ 100мс
 
if (response is Error)
	throw response;
 
return response;
}
...
Вобщем проблемый код пометил комментарием "// БАГ".
Подскажите пожалуйста метод в ActionScript чтобы можно было просто приостановить выпонение на некоторое кол. мс , типа "delay(100);", а то я кроме setInterval() ничего не нашел.