Bonjour à tous,
dans mon code AS, je fais beaucoup d'aller-retour avec mon serveur PHP pour récupérer les informations nécessaires. Je souhaite donc créer une classe personnalisée pour généraliser mes appels.
J'ai donc créé une classe
J'ai bien sur créer un événement personnalisé "ServerEvent.ALL_DATA_SERVER_SEND".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 package ... { import ... public class JsonAsk extends Object { protected var urlRequest:String; protected var url:URLRequest; protected var loader:URLLoader = new URLLoader; protected var datas:Object; public function JsonAsk(urlRequest:String) { super(); this._onInitialize(urlRequest); } protected function _onInitialize(urlRequest:String):void { url = new URLRequest(urlRequest); loader.addEventListener(Event.COMPLETE,onComplete); loader.load(url); } private function onComplete(e:Event):void { loader = e.target as URLLoader; datas = JSON.decode(loader.data); Application.application.dispatchEvent ( new ServerEvent (ServerEvent.ALL_DATA_SERVER_SEND, datas) ); } } }
Dans ma classe centrale j'ai ceci au début:
Mon code marche mais le problème est que je ne peux faire qu'une seule requête à la fois puisque mon appel se fait via un événement unique (désolé si je ne suis pas clair).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 private function onInit():void { var essai:JsonAsk = new JsonAsk("/catalog/get-all/"); Application.application.addEventListener(ServerEvent.ALL_DATA_SERVER_SEND,onEssai); } private function onEssai(e:ServerEvent):void { Alert.show(String(e.receiveObject.catalogs)); }
Je souhaitais faire qqchose comme
mais sous Eclipse j'ai le message "Tentative d'accès à la propriété inaccessible onComplete, via la référence de type static ...:JsonAsk." mais je ne comprend pas où j'ai un objet static dans mon objet personnalisé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 essai.onComplete(....)
Est ce qq'un pourrait m'aider ou m'indiquer un tuto là-dessus ?
Merci d'avance,
Partager