Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# Ne pas bloquer l'interface sur un script un peu long ? [Résolu]

Envoyé par : Raphael

Date : 01/11/2010 12:10

Bonjour,

J'ai quelques fonctions qui demandent un peu de temps et qui figent mon interface.

A un moment, je voulais faire une barre de progression qui s'incrémente dans la boucle de ma fonction, mais problème : L'interface reste figée... puis à la fin ma barre de progression se remplie directement à 100%.

J'ai cherché un peu du côté de fonctions asynchrones mais je n'ai trouvé que de la doc sur du téléchargement asynchrone ou de l'ajax... alors que ma boucle ne fait que des requêtes sur une BDD Sqlite3.

Quelqu'un saurait-il comment lancer un script non "bloquant" et qui puisse incrémenter ma barre de progression ?

Merci d'avance =)

# Re: Ne pas bloquer l'interface sur un script un peu long ?

Envoyé par : thefab

Date : 01/11/2010 23:06

Il existe des méthodes asynchrones pour SQLite https://developer.mozilla.org/en/storage(..)

# Re: Ne pas bloquer l'interface sur un script un peu long ?

Envoyé par : Raphael

Date : 02/11/2010 09:19

Ah ouais, intéressant... malgré tout dans mon script je ne pense pas que ce soit ce qui me prenne le plus de temps (mais on ne sait jamais).

En fait pour chaque retour de résultat (env. 6000) je fais d'autres recherches et je vérifie si une image associée existe... et à mon avis c'est plutot ce genre de recherche du type nsIfile.exists() sur plusieurs milliers d'images qui met du temps.

ET ça, est-ce possible de le faire en background ?

En tous cas merci de l'info, je vais tenter de feinter avec l'info que tu m'as donné, on ne sait jamais.

# Re: Ne pas bloquer l'interface sur un script un peu long ?

Envoyé par : thefab

Date : 05/11/2010 01:38

Alors je pense aussi que se sont les appels genre nsIFile.exists() qui prennent du temps car SQLite est extrêmement rapide (même sur des milliers de lignes).

Tu peux essayer avec Web Workers

# Re: Ne pas bloquer l'interface sur un script un peu long ?

Envoyé par : Raphael

Date : 05/11/2010 06:13

Merci, j'ai même trouvé une page sur 'Using workers in extension" =D

Plus qu'à étudier ça ou alors changer d'approche pour mon script.

Merci beaucoup.

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.