Maison >interface Web >Questions et réponses frontales >qu'est-ce que l'enfer de rappel de nodejs

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

WBOY
WBOYoriginal
2022-03-04 16:07:051995parcourir

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);
});

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的数据
  });
});

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!

Déclaration:
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
Article précédent:Que signifie nodal dans nodejsArticle suivant:Que signifie nodal dans nodejs