Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Stopper une fonction depuis une autre [ JavaScript Orienté objet (POO) / Function & Méthodes ] (bizibiz17)

lundi 24 novembre 2008 à 14:41:01 | Stopper une fonction depuis une autre

bizibiz17

Bonjour,

J'aimerais pouvoir stopper l'exécution d'une fonction depuis une autre. Je m'explique avec cet exemple :

function fct1()
{
   //instructions
}

function fct2()
{
   if(...)
    //stopper execution de fct1...
}

fct1();
fct2();


Merci pour vos réponses

lundi 24 novembre 2008 à 15:02:46 | Re : Stopper une fonction depuis une autre

Bul3

Membre Club

bonjour,

je ne pense pas qu'on puisse faire ça comme ça...
à moins que quelque chose ne m'échappe encore !
il y aura d'autres avis !

dans fct2 positionne une variable globale à true ( à initialiser à false )
et teste de "manière régulière" cette variable dans fct1
encore faut-il y avoir "la main" !

si boucle[s] dans fct1 :
fct1 peut-être à mettre en récursif avec setTimeout
et clearTimeout dans fct2.

une alternative est peut-être possible...
dans quelles conditions, pourquoi... vouloir faire ça ?

Cordialement

          [mon Site] [M'écrire] Bul         


lundi 24 novembre 2008 à 15:19:45 | Re : Stopper une fonction depuis une autre

XtremDuke

Même approche que Bul3 a la différence que je ne vois pas d'autre alternative.

lundi 24 novembre 2008 à 15:25:33 | Re : Stopper une fonction depuis une autre

bizibiz17

Merci pour ta réponse. J'ai déjà essayer la solution du clearTimeout mais sans résultat et la solution de la variable globale me parait difficile à mettre en place et ne fournirait pas exactement le résultat attendu car les instructions ne seraient pas arrêtées immédiatement.
Pourquoi vouloir faire cela ? Je vais essayer de donner un exemple :

var data;
var isLoading = false;

function init()
{
 if(isLoading)
//   arreter le déroulement de la fonction "mettreEnForme"

  data = <appel asynchrone qui récupère les données>;
  mettreEnForme();
}

function mettreEnForme()
{
  isLoading = true:
 //Utilisation de data
 isLoading = false;
}

<input type="button" value="clic" onclick="init()" />


Voilà en gros et en simplifié pourquoi j'ai besoin de faire ça : car l'exécution de la méthode "mettreEnForme" n'est peut-être
pas finie quand elle est relancée et du coup cela cause des problèmes.

lundi 24 novembre 2008 à 16:17:56 | Re : Stopper une fonction depuis une autre

Bul3

Membre Club
>>la méthode "mettreEnForme" n'est peut-être
>>pas finie quand elle est relancée et du coup cela cause des problèmes
ah..ben là....

var encours= false   
dans fct2 : encours ?
                oui : patienter ( en relançant fct2 avec setTimeout )
                non ! encours=true
                       du boulot à faire.....
                       encours=false

          [mon Site] [M'écrire] Bul         


lundi 24 novembre 2008 à 16:52:31 | Re : Stopper une fonction depuis une autre

Bul3

Membre Club
ou si la fonction est appelée par le clik sur un bouton,
le cacher ( ou l'invalider ) tant que le  boulot n'est pas fini...
          [mon Site] [M'écrire] Bul         


lundi 24 novembre 2008 à 17:04:37 | Re : Stopper une fonction depuis une autre

bizibiz17

Le bouton en question il s'agit du back du navigateur donc ça va être dur de le cacher
Pour ce qui est du timeOut qui attend la fin de l'exécution précédente, c'est actuellement ce que je fais mais j'aurais préféré une solution qui permet une exécution immédiate des nouvelles instructions...



Cette discussion est classé dans : fonction, function, stopper, fct2, fct1


Répondre à ce message

Sujets en rapport avec ce message

appelle d'un fonction d'une iframe [ par davwart ] BOnjour à tous.. j'ai un petit probleme avec un appel de fonction,je m'explique : j'ai un document qui contient une iframe "correctionFrame" , dans la nom de la fonction exécutée [ par franz ] Bonjour j'aimerais savoir s'il existe un moyen pour connaître le nom de la function dans laquelle je me trouve.ex:function toto(){   alert("Nom de la Stopper une fonction [ par vynill ] SalutJe voudrais savoir comment on stoppe une fonction en cours d'execution. C un script pour questionnaire, si l'utilisateur ne repond pas à toutes l Fonction a # variable [ par Teclis01 ] Bonjour,je voulais juste savoir si on pouvait faire des fonctions qui ont un nombre de parametres d'entrées variable. Par exemple :function alerter(sT fonction javascript [ par phil ] Bonjourvoici mon pb: function changeFrame(frame1,frame2){ top.nomdeframe1.location=frame1 top.nomdeframe2.location=frame2 comment doit-on écrire ce sc function afficher(calque) [ par biloui59 ] Salut tt le mondeje ne comprends pas pourquoi la fonction suivante ne marche pas:function afficher(calque) { for(i=1;i nom=calque"+i+"; document.get Prblème de function [ par tepe ] BonjourJ'ai un problème avec une fonction externe.Dans mon ReFrame();popup(); Le problème, la fonction ReFrame f Appel d'une fonction avec window.opener [ par lowkey ] Salut à tous !J'ai une page : page.php avec une fonction :function gor(){   alert('ok');}J'ouvre un popup avec : function WindowChangeRoomm(page,inter Stopper une fonction [ par AnalchiK ] Bonsoir,J'utilise une fonction pour faire clignoter un texte:i=0; c=0;function couleur(){ tabColoris = new Array ("#ffffff","#CE5852"); if (i+1 == tab Connaitre la fin d'une fonction [ par Angelblade ] Bonjour à tous, je vais essayer de vous expliquer mon souci ^^'.Je veux pouvoir répéter une portion de code tous les X ms et une fois que le code a ét


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 7,566 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.