Bonjour
J’ai une application gwt , en cliquant sur un boutton « environment » je dois charger la page environnement , celle-ci contient des sections à gauche qui sont insérées à partir d’une liste récupérées à partir d’une fonction « getCategories »
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public EnvironmentPresenter (EnvironmentOrganeServiceAsync rpcService,HandlerManager eventBus ,AppConstants appConst ){ this.eventBus = eventBus; this.rpcService=rpcService; this.appConst=appConst; categs=new ArrayList <categorie>(); //cette fonction récupère les catégories et les met dans categs getCategories(); displayEnvir=new EnvironmentAreaTest(appConst,categs); }
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 private void getCategories(){ AsyncCallback <List<categorie>> callback = new AsyncCallback<List<categorie>>() { public void onFailure(Throwable caught) { // TODO: Do something with errors. Window.alert("Error fetching data"); } @Override public void onSuccess(List<categorie> result) { for(categorie cat:result){ categs.add(cat);} } }; // Make the call to the ListEmployes service. rpcService.getCategs(callback) ; }
Le problème c’est que malgré que l’appel de la fonction getCategories() soit avant l’appel du constructeur de EnvironmentAreaTest mais la fonction « onSuccess » de getCategories() est exécuté après celui-ci !!!
Donc le constructeur est appelé avec une liste vide des catégories
Est-ce quelqu’un pourrait me dire pourquoi ?
et comment puis je faire pour executer
après avoir récupérer les catégories
Code : Sélectionner tout - Visualiser dans une fenêtre à part displayEnvir=new EnvironmentAreaTest(appConst,categs);
Merci
Partager