L'essentiel de Node.js

Intercepter les évènements

Testez gratuitement nos 1252 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Node.js dispose d'un moteur d'évènements très simple à utiliser. Après avoir câblé un objet, vous apprendrez à intercepter des évènements pour jouer de la logique.
05:11

Transcription

Alors on se rend compte qu’effectivement en l’état comme ça c’est pas top top. parce que quand je vais commencer à remplir, regardez ce qui se passe : là je vais remplir des propriétés 0 Alors c’est pas du tout ce que je veux sur mon objet. Alors sachez qu'on peut avoir quelque chose de très très propre, en très très peu de temps aussi. Alors d’abord partez du principe qu’un objet est un objet. Ok, donc on va garder un objet tel quel. Alors on avait trois propriétés. En fait, ces trois propriétés-là, on va les mettre dans une variable attributes. Et cette variable attributes, elle a un tableau avec. Par exemple, name, et puis ensuite on va avoir hobby, et puis ensuite on va avoir comme ça lg. Donc c’est bien parce qu’on peut remplir au fur et à mesure les propriétés d’un objet, et puis on peut même partir avec un objet vide à la base parce que de toute façon un objet c’est un objet, on peut rajouter les propriétés qu’on veut. L’actualIndex à zéro c’est parfait comme ça. Le getQuestion on garde, parce qu'il est important. Ensuite ici, le remplissage, il est pas trop mal mais on va pas vouloir remplir actualIndex, on va vouloir remplir l’attribut qui correspond à actualIndex. Donc comme ça on va remplir l’objet avec le name, le hobby, et puis le langage à la fin. Le setPrompt et le prompt comme ça, c’est pas trop mal. On va réduire un peu plus le code, on va se faire une fonction qui va s’appeler ask, qui va nous permettre d’abord de démarrer le programme, et puis qui va nous permettre également de relancer une nouvelle question à la fin. on sait que quand on va faire comme ça une question, on va récupérer la réponse, on va la mettre dans l'attribut parce que c’est ce qui va nous intéresser. Et puis derrière, alors attendez, je vais juste mettre des petits espaces ici, ce sera plus intéressant. Derrière on va relancer un prompt en plus. On sait qu’en fait on lance des prompts à chaque fois. Concrètement, ça, on n'est pas obligé de le faire, pourquoi ? Parce que tout simplement, on pourrait relancer une question à la fin, en fait, une fois que c'est terminé. Comment on ferait ? On ferait simplement ça : ask. On relancerait encore une question en supplément. Alors il faut démarrer le programme à un moment, ça c’est évident, au tout début, et puis il faut continuer comme ça à avancer dans le questionnaire. Ici on va donc répondre par exemple Julien, okok, okok. Bon alors après évidement, ça ne marche plus, ça s’arrête. Pour ce genre de chose évidement, c'est les événements qui vont nous intéresser. On sait sur toutes les librairies qu'il existe des events. Ces events-là, vous les aurez sur quasiment tout. C’est extrêmement important de savoir que vous pouvez vous câbler sur des événements. Je vous ai dit qu’il y avait close. Close, on va pouvoir le mettre en place assez facilement. Comment on va le mettre en place ? Simplement, à quel moment on va arrêter de poser des questions ? En fait, on va arrêter de poser de questions au moment où y a plus de questions. Et il y a plus de question, ça va être égale à l’actualIndex quand on aura passé la réponse. Ici on pourrait faire un if, forcément actualIndex === donc un triple égal, une égalité totale avec « question. » et puis « length », pour avoir ici la longueur de la chaine. On sait que ça c’est égal à trois et que effectivement ici dès que ça va être bon, bon bah on va pouvoir lui dire d’arrêter. Ici on pourrait simplement utiliser le rl. et close pour finir le programme, pour s’arrêter là. Alors attention, finir le programme c’est bien mais ça veut pas dire que ça va arrêter vraiment le processus. Vous vous souvenez, il faut se câbler quelque part. Alors rl comme absolument d’ailleurs un peu toutes les librairies, on va avoir accès à un on qui va nous permettre de nous câbler sur des événements. L’événement en question ici c’est close. Et ensuite on va jouer une fonction anonyme. Cette fonction anonyme on va lui demander de faire quelque chose. Moi, je vais lui demander deux choses. La première c’est d’abord de me faire un console.log de mon objet pour vérifier que cet objet, il est bien constitué et que j'ai bien les bonnes propriétés maintenant. Et donc on vient de construire en quelques lignes, un programme qui est capable d’enchainer des questions, et donc de construire un objet de réponse. Et puis surtout je vais lui demander d’arrêter mon processus, process.exit. J’ai pas envie que le processus continue. Je veux que ça s’arrête complètement. Là, vous avez codé très rapidement avec quelques lignes, eh bien un système de question-réponse qui est très propre et qui va vous permettre de travailler. Donc Julien, toto, et php par exemple, ou javascript. Et là vous remarquez quelque chose d’intéressant en plus, c’est que ça vous rempli l’objet au fur et à mesure et qu'on n'a pas besoin de s’embêter à répercuter deux fois les propriétés d’un objet. On a juste à les mettre dans un tableau d’attributs et venir travailler au fur et à mesure avec simplement un enchainement de question. Eh bien, le comportement de l’objet va être mis à jour au fur et à mesure. Et en fait ça c’est super intéressant. Vous voyez qu’on a juste utilisé une technique d’autoincrément. Donc on vient réincrémenter un index pour récupérer la prochaine valeur, récupérer la prochaine question. Tout ça c’est très simple, c’est très automatisé. Alors je vous conseille vraiment de vous pencher là-dessus, surtout sur les événements. Vous voyez que si on avait pas pu se câbler sur un événement comme ça, ça aurait été très compliqué de tout fermer etc. En se câblant là-dessus dès que je vais faire rl.close bah hop, je vais directement envoyer un événement. Je vais pouvoir me câbler et lui dire que ok, quand cet événement là va passer, tu me joues une fonction. Ça, ça existe dans de très nombreux cas. Pensez que node.js, c’est de la programmation événementielle aussi avant tout. Donc vous pouvez agir sur des emplacements particuliers et vous câbler et faire des choses. Ça c’est un très bon exemple et on va continuer à avancer. Et il y a plein de jolies petites choses à voir. Mais vous voyez que là, en très peu de lignes, on arrive à un fonctionnement et quelque chose de très sympa à utiliser, très facile.

L'essentiel de Node.js

Exploitez les possibilités de Node.js et créez des applications côté serveur entièrement en JavaScript. Travaillez avec des requêtes web, gérez le protocole WebSocket, etc.

4h00 (44 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Node.js Node.js 7.0
Spécial abonnés
Date de parution :26 déc. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !