Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/06/2011, 10h53   #1
Membre habitué
 
Homme
Étudiant
Inscription : mai 2011
Messages : 226
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2011
Messages : 226
Points : 126
Points : 126
Par défaut attente entre 2 instructions

Bonjour,

Je ne sais pas si je suis dans le meilleur forum pour poster, mais bon...

J'utilise svg-edit et j'essaie de charger un document dans l'éditeur.

J'ai en gros deux fonctions qui s’enchaînent pour faire ça :
Code :
1
2
loadSVGEditor();
loadDocument();
Tout marche bien à un détail près : le chargement de l'éditeur étant assez long, si je ne mets pas un "alert" entre les deux appels de fonctions, la fonction loadDocument plante magistralement parce que des parties de l'éditeur ne sont pas chargées...

Du coup, ma question c'est : existe-t-il un moyen de demander à l'interpréteur d'attendre la fin de l'execution de la fonction précédente avant d'exécuter la suivante, ou bien suis-je obligé de faire un truc moche avec une espèce de boucle, ou un truc comme ça ?

Merci
Sharcoux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 11h19   #2
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
tu peux tenter de placer loadDocument() en fin de première fonction;
mais je pense qu'une condition est nécessaire quelque part...
__________________
On ne mord pas, on manifeste seulement notre tristesse face à des exposés de situations qui défient notre entendement binaire.
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 11h41   #3
Membre habitué
 
Homme
Étudiant
Inscription : mai 2011
Messages : 226
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2011
Messages : 226
Points : 126
Points : 126
merci javatwister. Malheureusement, dans mon cas, c'était un peu compliqué à mettre en place.

Si ça peut servir à quelqu'un, j'ai écrit cette fonction qui a l'air de marcher au poil :

Code :
1
2
3
4
5
6
waitBeforeExecution = function(event, func) {
    var waitBefore = function() {
        if(event) {func.call();} else {setTimeout(waitBefore,1000)}
    }
    setTimeout(waitBefore,1000);
}
Cette fonction teste toutes les secondes si une variable event est non null et, le cas échéant, exécute la fonction func une fois et une seule.
Sharcoux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 11h44   #4
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
c'est effectivement la solution la plus prudente;
__________________
On ne mord pas, on manifeste seulement notre tristesse face à des exposés de situations qui défient notre entendement binaire.
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h44.


 
 
 
 
Partenaires

Hébergement Web