IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

je vais mourir du tableau ou du cerveau


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    248
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 248
    Par défaut je vais mourir du tableau ou du cerveau
    salut tout le monde ...j'ai un truc de merde une fois de plus ...
    et je craque

    voici un petit bout de code jquery

    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
     
    var arr_positions = Array(1,2);
    function load_arr() {
          return Array(1,2);
    }
     
    $(document).ready(function(){
     
     
    		//mise a jour
    		var arr_positions =  load_arr() ;
    		alert ('yo');
     
    		trace ('arr_positions=');
    		trace(arr_positions);
     
    });
    ma fonction load_arr renvoie un tableau via return montableau
    testé et approuvé ...je suis sur qu'elle return un tableau ... bon

    eh bien je n'ai rien dans mon trace !!! undefined !!
    ça me fait craquer le cerveau là ...
    HELP:

  2. #2
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    248
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 248
    Par défaut
    petite rectif ...
    en fait si je faire direct return array ça marche ...mais ma fonction ressemble plus à ça en fait (je voulais simplifier)

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    function load_arr() {
    	trace('chargement de la sauvegarde');
     
    	//return Array(1,2);
     
     
    	theData.get('positions', 
    		function(theSettings) {
    			// Test we actually got a settings object
    			if (theSettings) {
    				// We did, so put the values in to the form fields 
    				var arr_return = '0,'+theSettings.arr;
    				trace ('tableau de sauvegarde charge');	
    				trace (arr_return);	
     
    				var arr_positions = arr_return.split(",");
     
    trace ('tableau arr_positions 111');	
    trace(arr_positions);	
     
    	return arr_positions; //je veux recup ce tableau en fait
     
     
    				displayMessage("loaded!");				
    			} else {
    				trace("No settings found!");
    				var arr_positions = arr_base_positions;
     
    				//on sauvegarde le tableau de base
    				save_arr(arr_base_positions);
    			}
     
    			//on renvoie le tableau chargé
    			trace ('tableau arr_positions ');	
    			trace(arr_positions);				
     
    		} // function(theSettings)
     
     
     
    	);
    	trace ('tableau arr_positions xxxx ');	
    	trace(arr_positions);	
     
    	return arr_positions; //mais je recup ce tableau là que je m'en fout car il est pas encore traité...
    }
    le pire c'est que je comprends pourquoi mais j'arrive pas à résoudre le pb
    en fait la fonction load_arr renvoie son return avant d'avoir le résultat de thedata.get (celui qui m'intéresse)
    du coup mon core continue avec le mauvais tableau ... (non mis à jour)

    et comme cette fonction doit pouvoir être utilisée de façon indépendante ... je ne peux pas faire d'appel de la suite de mon code au moment de la réponse ...

    il faudrait que je puisse introduire la notion de synchronicité ... mais je sais pas comment ...
    ++

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    c'est quoi trace ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    248
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 248
    Par défaut
    lol
    trace c'est une fonction à la con pour avoir un retour à l'écran
    bien pratique cependant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function is_array(input){
        return typeof(input)=='object'&&(input instanceof Array);
      }
     
    function trace (txt) {
    	if (is_array(txt)) {
    		$('#trace').append('Array : '+txt.join(" , ")+'<hr />');
    	} else {
    		$('#trace').append(txt+'<hr />');
    	}
    }
    en gros pour mieux situer je bosse sur des test des fonctionnalités SQlite avec les navigateurs chrome et autre pour stocker des datas en local ....

    la fonction get est la suivante (c'est pas moi qui l'ai codée hein)
    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
    get:function(key, callback) {
    		var that = this;
    		this.db.transaction(function(t) {
    			t.executeSql(
    				"SELECT value FROM " + that.table + " WHERE id = ?",
    				[key],
    				function(tx, results) {
    					if (results.rows.length == 0) {
    						callback(null);
    					} else {
    						var o = that.deserialize(results.rows.item(0).value);
    						o.key = key;
    						callback(o);
    					}
    				},
    				this.onError
    			);
    		});
    	},

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    console.log de firebug quoi ...

    quel est donc ton souci avec ton array ?
    tu cherches à faire quoi à la base ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var arr_positions = Array(3,6);
    function load_arr() {
          return Array(1,2);
    }
     
    	arr_positions =  load_arr() ;
    		alert (arr_positions[0]);
    la fonction loade bien tu veux quoi de plus.?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    248
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 248
    Par défaut
    en gros voila le principe
    j'ai un tableau arr_positions initialisé au chargement de la page

    à un moment je veux le mettre à jour avec ma fonction load_arr qui fait un appel à une fonction (theData.get('positions', ... ) qui va aller lire une donnée dans une base sqlite (en asynchrone à priori) et me la retourner...

    sauf que entre temps load_arr a deja fait son retun à mon code qui continue à s'exécuter sans attendre que mon tableau soit mis à jour ...
    du coup ça marche pas ...

    je voudrai attendre ma réponse et ensuite renvoyer le résultat à mon code ...

    mais je sais pas si c'est possible ...

    -----
    console.log de firebug quoi ...
    ouaip ...mais je suis obligé de développer sous safari là ... car firefox ne gère pas sqlite

  7. #7
    Inactif  

    Profil pro
    Inscrit en
    Mai 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 345
    Par défaut
    Citation Envoyé par CaviarNAS Voir le message
    en gros voila le principe
    j'ai un tableau arr_positions initialisé au chargement de la page

    à un moment je veux le mettre à jour avec ma fonction load_arr qui fait un appel à une fonction (theData.get('positions', ... ) qui va aller lire une donnée dans une base sqlite (en asynchrone à priori) et me la retourner...

    sauf que entre temps load_arr a deja fait son retun à mon code qui continue à s'exécuter sans attendre que mon tableau soit mis à jour ...
    du coup ça marche pas ...

    je voudrai attendre ma réponse et ensuite renvoyer le résultat à mon code ...

    mais je sais pas si c'est possible ...

    -----
    ouaip ...mais je suis obligé de développer sous safari là ... car firefox ne gère pas sqlite
    safari a une console JS et tu peux aussi faire console.log

Discussions similaires

  1. trier un tableau et compter des elements du tableau
    Par remi51 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 17/06/2002, 16h51
  2. Réponses: 2
    Dernier message: 27/05/2002, 19h46
  3. verification de doublons dans un tableau
    Par bohemianvirtual dans le forum C
    Réponses: 11
    Dernier message: 25/05/2002, 12h21
  4. transmision de tableau en parametre
    Par Horus dans le forum C++Builder
    Réponses: 3
    Dernier message: 16/05/2002, 11h15
  5. Réponses: 4
    Dernier message: 13/05/2002, 16h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo