Bonjour à tous,
Comment faire pour appeler une RPC (Remote Procedure Call) de manière synchrone ?
Bonjour à tous,
Comment faire pour appeler une RPC (Remote Procedure Call) de manière synchrone ?
Voilà 2 exemples qui pourront t'aider
http://moritan.developpez.com/tutori...remier/projet/
http://www-lsr.imag.fr/Les.Personnes...vecGWT_RPC.php
Comment faire un appels synchrone (et non asynchrone) d'une RPC.
Non justement c'est ce que je cherche a faire.
Comment faire pour?attendre après le résultat
J'ai du mal à comprendre, tu veux faire des appels "synchrone" avec GWT, il est où l'interet ???
Le principe même de GWT c'est de pouvoir faire de l'AJAX facilement, et donc, des appels asynchrones.
Parce que le truc chiant c'est que quand j'appel une RPC, si je met du code après cet appel, le code est "parfois" executé avant que l'appel a la RPC ne soit terminer. Et ça m'embête !
C'est sûr, c'est embêtant, le truc c'est de s'arranger pour que le code soit exécuté après la réponse (dans le onSuccess) !!!
Voila ce que j'ai testé :
Mais la console m'affiche :
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 Gesnet.dataManagerService.getExpenseList(gesnet.getCompany(), new AsyncCallback() { public void onFailure(Throwable caught) { System.out.println("FAILURE"); gesnet.setStatusBarMessage(caught.getMessage(), StatusBar.FAILURE); } public void onSuccess(Object result) { System.out.println("SUCCESS"); expenseList = (List) result; } }); while (expenseList == null) { System.out.println("WAIT"); }
WAIT
WAIT
WAIT
...
Sans jamais plus passé dans le FAILURE ou le SUCCESS
N'oublie pas que javascript est MONO processus.
Bien que je n'ai jamais essayer de faire comme toi, il est possible que la boucle prenne tout le temps affecté par le navigateur au thread de la page, et empeche le code de la réponse de fonctionner.
Note bien que les wait ne servent à rien dans un environnement mono thread.
J'ai abandonné mon projet GWT, il n'est pas au point.
tu as pas bien pensé ton application si tu as des problèmes avec l'asynchrone.
Il n'y avait pas qu'avec l'asynchrone que j'avais des problèmes. Celui-ci était parmi tant d'autre. Je pense personelement que le produit GWT n'est pas au point c'est tout.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager