|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : février 2011 Messages : 12 ![]() |
Bonjour à tous,
Je suis nouveau sur ce forum, bien que je le consulte régulièrement (regorgeant d'informations très utiles). Aujourd'hui, j'ai grand besoin de votre aide car je bute sur un problème qui me parait simple mais dont je n'arrive pas à trouver la solution : Voici le code ( simplifié ) : Code :
Si quelqu'un saurait me dire où est mon erreur. Merci (testé sous Safari / Chrome) [edit] Bon, j'ai un peu avancé: en ajoutant un alert() à la fin du dataHandler : Code :
|
||||
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Inscription : février 2009 Messages : 318 ![]() |
je pense que t'as fonction transaction.executeSql, exécute une fonction AJAX qui est asynchrone, comme un thread...
y'a deux façon de contourner le problème, soit tu passes une fonction de callback à t'a méthode ajax, qui s’exécutera à la fin de la requête, soit tu fais une requête en mode synchrone |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 12 ![]() |
Merci pour ta réponse kimjoa,
Les requêtes SQLite (avec la fonction executeSql) doivent effectivement fonctionner de la même manière que les requêtes AJAX (asynchrone) : Lorsque le résultat est obtenu, alors le handler est appelé. Ce qui m'amène au véritable problème que me pose cette fonction: Ce que je cherche à faire, c'est: - Exécuter une requête - Evaluer le nombre de résultats obtenus - Si ce nombre de résultat n'est pas suffisant - Alors Exécuter la même requête avec des contraintes plus larges etc Tout ceci de manière récursive et asynchrone. Je m'embrouille un peu dans la récursivité Comment pourrais-je procéder ? |
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 847 ![]() |
Code :
|
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 12 ![]() |
Willpower, merci pour le coup de main,
Je ferai un essai demain bien que je soit septique car au moment où l'on appelle transaction.executeSql() par récursivité, transaction (fourni par db.transaction) n'existe plus il me semble. (?) Merci en tout cas ! [edit] Ce que je veux dire par là c'est qu'il paraitrait logique que la transaction à la BDD soit close et qu'il faille ouvrir une nouvelle transaction (db.transaction). Je ferai des tests demain
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com