Maison > interface Web > js tutoriel > Synchrone ou asynchrone dans Node.js : en quoi les requêtes de base de données diffèrent-elles ?

Synchrone ou asynchrone dans Node.js : en quoi les requêtes de base de données diffèrent-elles ?

Susan Sarandon
Libérer: 2024-12-07 15:00:17
original
674 Les gens l'ont consulté

Synchronous vs. Asynchronous in Node.js: How Do Database Queries Differ?

Comprendre la programmation asynchrone et synchrone dans Node.js

En explorant le site Web NodeBeginner, vous êtes tombé sur deux extraits de code distincts qui effectuent des requêtes de base de données . Bien que l'objectif soit clair, la différence entre la programmation synchrone et asynchrone reste insaisissable.

Programmation synchrone :

Dans le premier extrait de code :

var result = database.query("SELECT * FROM hugetable");
console.log("Hello World");
Copier après la connexion

Ce code fonctionne de manière synchrone. Le programme s'arrête à la première ligne, en attendant la fin de la requête. Par conséquent, la ligne suivante, qui affiche « Hello World », ne peut s'exécuter qu'une fois la requête terminée.

Programmation asynchrone :

En revanche, le deuxième extrait de code :

database.query("SELECT * FROM hugetable", function(rows) {
    var result = rows;
});
console.log("Hello World");
Copier après la connexion

Utilise une programmation asynchrone. Ici, le message « Hello World » est imprimé immédiatement, tandis que l'exécution de la requête s'exécute simultanément. La fonction de rappel reçoit les résultats de la requête une fois terminée.

Différences clés :

La distinction critique réside dans le comportement de blocage du code synchrone. La programmation synchrone arrête l'exécution d'autres codes jusqu'à ce que la requête soit traitée, tandis que la programmation asynchrone permet l'exécution simultanée d'autres tâches en attendant les résultats de la requête.

Flux d'exécution :

Exécution du Tout d'abord, l'extrait de code synchrone entraînerait :

Query finished
Next line
Copier après la connexion

D'autre part, l'extrait de code asynchrone entraînerait sortie :

Next line
Query finished
Copier après la connexion

Illustrant la nature non bloquante de la programmation asynchrone.

Asynchronicité basée sur les événements dans Node.js :

Malgré le fait qu'elle soit monothread, Node.js permet des opérations asynchrones grâce à son architecture basée sur les événements. Les tâches telles que les opérations sur le système de fichiers sont gérées dans des processus distincts. Le thread principal du nœud reçoit des notifications sur ces opérations, lui permettant de répondre de manière appropriée sans bloquer l'exécution d'autres tâches.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal