Outils pour utilisateurs

Outils du site


javascript:async

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
javascript:async [04/04/2013 15:12] – créée danieljavascript:async [04/04/2013 16:23] (Version actuelle) daniel
Ligne 13: Ligne 13:
 // code 2bis, dont on ne peut absolument pas savoir s'il sera exécuté avant ou après 1bis // code 2bis, dont on ne peut absolument pas savoir s'il sera exécuté avant ou après 1bis
 // c'est souvent ici que se cache les bugs, le truc qui passe toujours avant, sauf parfois... // c'est souvent ici que se cache les bugs, le truc qui passe toujours avant, sauf parfois...
-<code>+</code>
 C'est souvent lié aux pb de chargement, mais pas seulement. C'est souvent lié aux pb de chargement, mais pas seulement.
  
Ligne 21: Ligne 21:
  
 ===== Gestion d'événements ===== ===== Gestion d'événements =====
 +Généralités
 +  * http://www.w3.org/TR/DOM-Level-3-Events/#event-flow pour comprendre le "dispatch" de l'evt et ses 3 phases capture/target/bubble
 +  * http://www.yoyodesign.org/doc/w3c/dom2-events/events.html (en fr)
 +  * http://www.quirksmode.org/dom/events/index.html table de compatibilité des evts
 +  * https://developer.mozilla.org/en-US/docs/DOM/Event/CustomEvent
 +  * liste de tous les [[https://developer.mozilla.org/en-US/docs/DOM/Mozilla_event_reference|types]] dispo suivant le dom level
 +
 +Un ex simple de création d'evts perso en DOM2
 +  * http://www.kaizou.org/2010/03/generating-custom-javascript-events/
 +  * Ex de addEventListener en [[https://developer.mozilla.org/fr/docs/DOM/element.addEventListener|VF] mais + détaillé en [[https://developer.mozilla.org/en-US/docs/DOM/EventTarget.addEventListener|en] (compat IE9 only, attachEvent avant)
 +
 ===== TodoList ===== ===== TodoList =====
-Dans certains cas, on veut traiter des actions séquentiellement (car chacune modifie un objet global dont elle utilise l'état par ex), le plus simple est de les empiler, via un gestionnaire de pile unique qui gère l'empilement et le dépilement, pour être sûr que personne ne peut faire qqchose entre le test de la pile et sa modification (qui dépend du test).+Dans certains cas, on veut traiter des actions séquentiellement (car chacune modifie un objet global dont elle utilise l'état par ex), on peut faire 
 +  *  ajouter un listener qui capture la propagation, fait un traitement, arrête d'écouter l'evt puis relance l'evt. Ils seront appellés dans l'ordre où ils se sont enregistrés mais l'arrêt de la propagation ne marche pas sur les écouteurs de la même cible. 
 +  * se créer un gestionnaire de pile unique qui gère l'empilement et le dépilement, une fct globale (pour être unique) avec une pile privée, pour être sûr que personne ne peut faire qqchose entre le test de la pile et sa modification (qui dépend du test). Ex avec http://code.stephenmorley.org/javascript/queues/ 
 + 
 +Pour implémenter une file d'attente (queue), un singleton pourrait être bien pratique 
 +  * http://www.tassedecafe.org/1023-implementer-design-pattern-singleton-javascript.html 
 +  * http://code18.blogspot.fr/2009/07/creer-un-singleton-en-javascript.html 
 +  * http://stackoverflow.com/questions/1635800/javascript-best-singleton-pattern
  
javascript/async.1365081122.txt.gz · Dernière modification : 04/04/2013 15:12 de daniel