Maison > interface Web > Questions et réponses frontales > Que signifie le rappel dans nodejs

Que signifie le rappel dans nodejs

WBOY
Libérer: 2022-03-04 15:20:15
original
1447 Les gens l'ont consulté

Dans nodejs, le rappel consiste à transmettre une fonction en tant que paramètre à une autre fonction, et est généralement appelé une fois la première fonction terminée ; il s'agit d'une fonction équivalente asynchrone, et toutes les API de Node prennent en charge les rappels.

Que signifie le rappel dans nodejs

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

Que signifie le rappel dans nodejs

Callback est une fonction équivalente asynchrone. La fonction de rappel est appelée lorsqu'une tâche spécifique est terminée. Node utilise largement les rappels. Toutes les API Node prennent en charge les rappels.

Par exemple, une fonction lisant un fichier peut commencer à lire le fichier et permettre l'exécution de l'instruction suivante pour rendre immédiatement le contrôle à l'environnement d'exécution. Une fois les E/S du fichier terminées, il appelle la fonction de rappel, en lui transmettant le contenu du fichier en tant que paramètre. Par conséquent, il n’y a pas de blocage ni d’attente pour les E/S de fichiers. Cela rend Node.js hautement évolutif car il peut gérer un grand nombre de requêtes sans attendre qu'une fonction renvoie un résultat.

Exemple de code de blocage

Créez un fichier nommé input.txt avec le texte suivant

Yiibai Point is giving self learning content
to teach the world in simple and easy way!!!!!
Copier après la connexion
Copier après la connexion

Créez un fichier js nommé main.js avec le code suivant dedans :

var fs = require("fs");
var data = fs.readFileSync('input.txt');
console.log(data.toString());
console.log("Program Ended");
Copier après la connexion

Maintenant, exécutez main.js pour voir le résultat :

$ node main.js
Copier après la connexion

Sortie de vérification

Yiibai Point is giving self learning content
to teach the world in simple and easy way!!!!!
Program Ended
Copier après la connexion

Exemple de code non bloquant

Créez un fichier nommé input.txt avec le texte suivant

Yiibai Point is giving self learning content
to teach the world in simple and easy way!!!!!
Copier après la connexion
Copier après la connexion

Mettez à jour le fichier main.js comme le code suivant :

var fs = require("fs");
fs.readFile('input.txt', function (err, data) {
    if (err) return console.error(err);
    console.log(data.toString());
});
console.log("Program Ended");
Copier après la connexion

Maintenant, exécutez Les résultats vus par main.js :

$ node test.js
Copier après la connexion

Résultat de vérification

Program Ended
Yiibai Point is giving self learning content
to teach the world in simple and easy way!!!!!
Copier après la connexion

Ces deux exemples illustrent les concepts d'appels bloquants et non bloquants. Le premier exemple illustre que le programme se bloque jusqu'à ce qu'il lise le fichier, puis avance uniquement là où le programme se termine. Dans le deuxième exemple, le programme n'attend pas que le fichier soit lu, mais il affiche simplement "Program Ended" et pendant ce temps, le programme continue de lire le fichier sans blocage.

Par conséquent, le programme bloquant s'exécute en séquence, ce qui facilite la mise en œuvre de la logique d'un point de vue programmation, mais le programme non bloquant ne s'exécute pas en séquence. Dans un tel cas, un programme doit utiliser des données. pour le traitement, il doit rester en utilisant la formule Les mêmes blocs sont exécutés séquentiellement.

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