![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Aug 2008
Сообщений: 35
|
Возникла проблема. В коде использую конструкцию:
var tt:Object = dataJSON ('http://site.ru/get.php', { "user":1, "sekret":"123654789" } ); private function dataJSON (url:String, parameters:Object):Object { var data:Object; var variables:URLVariables = new URLVariables(); var ldr:URLLoader = new URLLoader(); var request:URLRequest = new URLRequest(url); for (var name:String in parameters){ variables[name] = parameters[name]; } request.data = variables; ldr.dataFormat = URLLoaderDataFormat.TEXT; ldr.addEventListener (Event.COMPLETE, handleComplete); ldr.load (request); function handleComplete (e:Event):void { data = JSON.deserialize(ldr.data); } return data; } как это можно исправить или грамотно сделать ??? заранее спасибо Последний раз редактировалось shurco2; 02.06.2010 в 19:10. |
|
|||||
|
Регистрация: Aug 2008
Сообщений: 35
|
так не сойдет, дело в том что у меня
var tt:Object = dataJSON ('http://site.ru/get.php', { "user":1, "sekret":"123654789" } ); конструкций может быть некоторое количество, а под каждый вызов создавать новый handleComplete - как то неразумно, ваш вариант удобный для 1 вызова |
|
|||||
|
Регистрация: Aug 2008
Сообщений: 35
|
я что то туплю тогда
поподробнее, что вы имеете в виду |
|
|||||
|
Я, если честно, тоже тебя не понял. Кого может быть несколько? tt:Object? Или dataJSON() и подобные? Если второй вариант - то в каждом dataJSON() слушается Event.COMPLETE и выполняется
|
|
|||||
|
Регистрация: Aug 2008
Сообщений: 35
|
к примеру
и так далее , хотелось бы чтобы функция отдавала полученное значение, если это конечно возможно Последний раз редактировалось udaaff; 02.06.2010 в 20:08. |
|
|||||
|
Регистрация: Aug 2008
Сообщений: 35
|
А есть какие либо варианты или идеи, чтобы можно было бы запустить такую конструкцию ???
|
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Где-то так обычно делаю.
private var loadersMap:Dictionary = new Dictionary(true); private function dataJSON (url:String, parameters:Object, extras:Array):void{ var data:Object; var variables:URLVariables = new URLVariables(); var ldr:URLLoader = new URLLoader(); var request:URLRequest = new URLRequest(url); for (var name:String in parameters){ variables[name] = parameters[name]; } request.data = variables; ldr.dataFormat = URLLoaderDataFormat.TEXT; ldr.addEventListener (Event.COMPLETE, handleComplete); ldr.load (request); loadersMap[ldr] = extras; } private function handleComplete (e:Event):void { data = JSON.deserialize(ldr.data); var extras:Array = loadersMap[ev.target]; delete loadersMap[ev.target]; //далее можно творить что угодно, в стиле extras[0] = data; extras[1](extras[0], extras[2]); } //ну и для этого функция типа private function extendedHandleComplete(ourTT:Object, smthMoreYouNeed:String):void { ... } |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:32. |
|
|
« Предыдущая тема | Следующая тема » |
|
|