qu'est-ce que l'enfer de rappel de nodejs

WBOY
Libérer: 2022-03-04 16:07:05
original
1956 Les gens l'ont consulté

Dans nodejs, les résultats des opérations « E/S » doivent essentiellement être traités dans la fonction de rappel. Lors du traitement de plusieurs événements, la fonction de rappel sera imbriquée couche par couche. C'est un enfer de rappel ; La requête est imbriquée dans une requête asynchrone et une requête asynchrone dépend du résultat d'exécution d'une autre, en utilisant des rappels pour s'imbriquer les unes les autres.

qu'est-ce que l'enfer de rappel de nodejs

L'environnement d'exploitation de cet article : système Windows 10, nodejs version 12.19.0, ordinateur Dell G3.

Qu'est-ce que l'enfer de rappel de nodejs ?

Les résultats des opérations d'E/S dans nodejs doivent essentiellement être traités dans la fonction de rappel. Lorsque plusieurs événements sont traités, la fonction de rappel sera imbriquée couche par couche. .

Une requête asynchrone est imbriquée dans une requête asynchrone, et une requête asynchrone dépend du résultat d'exécution de l'autre, en utilisant des rappels pour s'imbriquer les unes les autres

Le plus grand point fort de Nodejs est les E/S non bloquantes pilotées par les événements. modèle, ce qui fait que Nodejs possède de fortes capacités de traitement simultané et est très approprié pour l'écriture d'applications réseau. La plupart des opérations d'E/S dans Nodejs sont presque asynchrones, c'est-à-dire que les résultats de nos opérations d'E/S doivent essentiellement être traités dans des fonctions de rappel, comme la fonction suivante qui lit le contenu du fichier :

fs.readFile('/etc/passwd', function (err, data) {
  if (err) throw err;
  console.log(data);
});
Copier après la connexion

Alors, que devons-nous faire si nous lisons deux fichiers et fusionnons le contenu des deux fichiers pour le traitement ? La plupart des personnes qui ont été exposées à js pendant une courte période peuvent faire ceci :

fs.readFile('/etc/passwd', function (err, data) {
  if (err) throw err;
  fs.readFile('/etc/passwd2', function (err, data2) {
    if (err) throw err;
    // 在这里处理data和data2的数据
  });
});
Copier après la connexion

Alors si nous traitons de plusieurs scènes similaires, n'est-ce pas ? Les fonctions de rappel sont imbriquées couche par couche. C'est ce que tout le monde appelle souvent la pyramide de rappel ou l'enfer du rappel.

Apprentissage recommandé : "Tutoriel vidéo Nodejs"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

É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