Maison > interface Web > js tutoriel > le corps du texte

Explication détaillée du mécanisme du module de nœud et du traitement asynchrone_node.js

WBOY
Libérer: 2016-05-16 15:10:43
original
2038 Les gens l'ont consulté

1. Mécanisme des modules

Le but du mécanisme du module commonJS est de construire js pour former un écosystème dans les serveurs Web, les programmes de bureau, les navigateurs, etc. Node js est une implémentation de cette spécification, utilisant require pour introduire d'autres fichiers. De même, npm suit également la spécification de package définie par commonJS, formant ainsi un écosystème complet.

Définition et export du module

Par exemple, il existe le fichier suivant nommé circle.js

exports.getName = function(name) {
  return name
}
Copier après la connexion

Chargement des modules

var circle = require('/circle.js')
console.log(circle.getName('WPY'))
Copier après la connexion

Stratégie de chargement des modules

Les modules de nœuds peuvent être principalement divisés en deux catégories :

Modules natifs et modules personnalisés. Les modules dits natifs sont des modules définis par le nœud lui-même, tels que les modules HTTP et fs. Ces modules ont la vitesse de chargement la plus rapide.
Il existe également une catégorie de modules personnalisés, comprenant des modules de packages et des fichiers que nous définissons nous-mêmes. Qu'il s'agisse d'un module natif ou d'un module personnalisé, il sera mis en cache par nœud après avoir été chargé pour la première fois, il n'y aura donc pas de surcharge sur la deuxième requête.

Chargement du module natif :

Après avoir analysé le nom du fichier, la méthode require() recherchera d'abord dans le cache du module, puis recherchera dans le module natif du nœud
Charger à partir du fichier
module.path Pour chaque module de fichier chargé, il y aura un attribut paths lors de la création de l'objet module. Son chemin pointe vers le chemin du module importé.
Lors de la demande d'un module de chemin absolu, node_module ne sera pas parcouru pour la vitesse de chargement la plus rapide.

Programmation asynchrone

Fonction intermédiaire haute
Une fonction de haut niveau est une fonction qui prend une fonction comme paramètre ou comme valeur de retour.

function foo(X) {
  return function() {
    return x
  }
}
Copier après la connexion

La plus grande fonctionnalité apportée par NODE est l'E/S opportuniste non bloquante basée sur des événements.

Solutions de programmation asynchrone

1. Modèle de publication/abonnement d'événements

Le mode écouteur d'événements est largement utilisé dans la programmation asynchrone. Il s'agit d'une fonction de rappel temporisé, également connue sous le nom de mode publication/abonnement.

//订阅

emitter.on("event1", function(message){
  console.log(message)
})
//发布

emitter.emit("event1", "I am message")

Copier après la connexion

2.Mode Promesse

L'objet promis a trois états, un état inachevé, un état terminé et un état échoué.
L'objet de promesse doit avoir une méthode then. La méthode then a les exigences suivantes
.

1. Acceptez les méthodes de rappel pour l'état d'achèvement et l'état d'erreur.
2. Seules les fonctions sont acceptées, les autres objets seront ignorés
3. Continuez à renvoyer l'objet de promesse pour implémenter les appels en chaîne

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!