![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2008
Сообщений: 21
|
Есть вот такая функция, которая читает некоторые данные. Как сделать так, что бы она возвращала результат? В таком виде она возвращает null. Хотя внутри подфункции onDataLoad переменная существует. Вот как ее передать основной функции?
private function GetUserInfo():String {
var user_ip:String;
var myLoader:URLLoader = new URLLoader();
myLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
var myRequest:URLRequest = new URLRequest("http://www.site.ru/get_user_info.php?rand="+String(Math.random()));
myRequest.method = "GET";
myLoader.load(myRequest);
myLoader.addEventListener(Event.COMPLETE, onDataLoad);
myLoader.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
myLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError);
myLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, onHTTPStatus);
function onDataLoad(evt:Event){
user_ip = evt.target.data["user_ip"];
}
function onIOError(evt:IOErrorEvent){
trace("IOError: "+evt.text)
}
function onHTTPStatus(evt:HTTPStatusEvent){
trace("HTTPStatus: "+evt.status)
}
function onSecurityError(evt:SecurityErrorEvent){
trace("SecurityError: "+evt.text)
}
return(user_ip);
}
|
|
|||||
|
стервочка (я мужик)
|
вернуть никак.
передать ... да как угодно. в момент когда происходит return, user_ip не существует. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
ActionScript — асинхронен.
|
|
|||||
|
Регистрация: Feb 2008
Сообщений: 21
|
Цитата:
А каким образом можно передать эту переменную наружу из функции? Можно небольшой пример?Сейчас у меня снаружи прописана переменная var g_user_ip:string; вот как ей передать значение user_ip из функции? Заранее спасибо. |
|
|||||
|
стервочка (я мужик)
|
эээ ... сделать кастомное событие?
|
|
|||||
|
Передай в GetUserInfo callBack функцию, и когда загрузится все, дерни эту фунцию и передай с ней параметр.
__________________
Оптимизация производительности на уровне кода Последний раз редактировалось _Smirnoff; 06.11.2008 в 14:32. |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 21
|
Спасибо, примерно так и сделал.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 09:06. |
|
|
« Предыдущая тема | Следующая тема » |
|
|