Maison > interface Web > js tutoriel > Une folie débutante dans Node.js

Une folie débutante dans Node.js

Joseph Gordon-Levitt
Libérer: 2025-02-15 12:47:12
original
466 Les gens l'ont consulté

Node.js: Environnement de fonctionnement JavaScript efficace pour les E / S non bloquants

Cet article présentera brièvement les caractéristiques de base de Node.js et démontrera ses fonctions clés via la ligne de commande. Node.js est basé sur le moteur JavaScript V8 de Chrome, et ses E / S non bloquantes et ses mécanismes de fonctionnement asynchrones le rendent excellent pour gérer les demandes simultanées.

Les avantages de Node.js:

  • E / S non bloquant: Node.js est conçu pour éviter de bloquer l'exécution du programme par les opérations d'E / S. Dans la programmation synchrone traditionnelle, les opérations d'E / S (telles que la lecture de fichiers, la demande du réseau) feront une pause l'exécution du programme jusqu'à la fin de l'opération. Node.js continue d'effectuer d'autres tâches tandis que les opérations d'E / S sont en cours, améliorant considérablement l'efficacité.

  • Opérations asynchrones: Node.js utilise largement les fonctions de rappel pour gérer les opérations asynchrones. La fonction de rappel est exécutée une fois l'opération d'E / S terminée, évitant le blocage causé par les opérations synchrones.

  • V8 JavaScript Engine: Node.js s'exécute sur le moteur JavaScript V8 efficace, garantissant ses performances.

A Beginner Splurge in Node.js

Rappels:

La fonction de rappel est la base de la programmation asynchrone Node.js. Ils sont passés sous forme de paramètres à la fonction et sont exécutés une fois l'opération asynchrone terminée. Voici un exemple simple:

> function add(a, b, callback) { var result = a + b; callback(result); }
Copier après la connexion

Cette fonction add accepte deux nombres et une fonction de rappel comme paramètres. Il calcule la somme de deux numéros, puis appelle la fonction de rappel et y transmet le résultat.

> add(2, 3, function (c) { console.log('2 + 3 = ' + c) });
> add(1, 1, function (c) { console.log('Is 1 + 1 = 3? ' + (c === 3)); });
Copier après la connexion

Exemple de fonctionnement asynchrone:

Utilisez la fonction setTimeout pour simuler les opérations asynchrones:

> function doSomething(asyncCallback) { setTimeout(asyncCallback, Math.random() * 1000 + 1000); }
> doSomething(function () { console.log('This runs asynchronously.'); });
> console.log('test');
Copier après la connexion

Ce code démontre l'ordre d'exécution non déterministe des rappels asynchrones.

E / S de fichiers:

node.js fournit le module fs pour les opérations de fichiers asynchrones:

> var fs = require('fs');
> fs.writeFile('message.txt', 'Hello Node.js', function () { console.log('Saved.'); });
> console.log('Writing file...');

> fs.readFile('message.txt', {encoding: 'utf-8'}, function(err, data) { console.log(data); });
Copier après la connexion

Créer un serveur Web:

Node.js 'http Le module peut être utilisé pour créer un serveur Web simple:

> var http = require('http');
> var server = http.createServer(function (request, response) { response.end('Hello Node.js'); });
> server.listen(8080);
Copier après la connexion

Accès localhost:8080 Pour voir les résultats renvoyés par le serveur.

A Beginner Splurge in Node.js

async / attend:

es2017 présente la syntaxe async/await, ce qui simplifie l'écriture du code asynchrone:

async function sum(a,b) {
    return a + b;
}
Copier après la connexion
Le mot-clé

await ne peut être utilisé que dans la fonction async et est utilisé pour attendre la résolution de la promesse.

A Beginner Splurge in Node.js

Résumé:

Node.js est un choix idéal pour construire des applications de réseau haute performance avec ses E / S légères et non bloquantes et de puissantes capacités de programmation asynchrones. Ses fonctionnalités basées sur JavaScript réduisent également le seuil de développement.

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 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