Heim >Web-Frontend >js-Tutorial >Ein Anfänger -Splurge in Node.js
node.js: Effiziente JavaScript-Ausführungsumgebung für nicht blockierende I/O
In diesem Artikel wird kurz die Kernfunktionen von node.js vorgestellt und seine Schlüsselfunktionen über die Befehlszeile demonstrieren. Node.js basiert auf der V8 JavaScript-Engine von Chrom, und die nicht blockierenden E/A- und asynchronen Betriebsmechanismen machen es hervorragend bei der Behandlung von gleichzeitigen Anfragen.
Die Vorteile von Node.js:
Nicht blockierende I/O: node.js soll die Blockierung der Programmausführung durch E/A-Operationen vermeiden. In der herkömmlichen synchronen Programmierung pausieren E/A -Operationen (z. B. Lesen der Datei, Netzwerkanforderung) die Programmausführung, bis der Betrieb abgeschlossen ist. Node.js führt weiterhin andere Aufgaben aus, während die E/A -Operationen im Gange sind und die Effizienz erheblich verbessern.
asynchronen Operationen: node.js verwendet weit verbreitete Rückruffunktionen, um asynchrone Operationen zu verarbeiten. Die Rückruffunktion wird ausgeführt, nachdem der E/A -Betrieb abgeschlossen ist, wodurch eine Blockierung durch synchrone Operationen vermieden wird.
v8 JavaScript -Engine: node.js läuft auf der effizienten V8 JavaScript -Engine, um die Leistung zu gewährleisten.
Rückrufe:
Die Rückruffunktion ist die Grundlage der asynchronen Programmierung von Node.js. Sie werden als Parameter an die Funktion übergeben und nach Abschluss der asynchronen Operation ausgeführt. Hier ist ein einfaches Beispiel:
<code class="language-javascript">> function add(a, b, callback) { var result = a + b; callback(result); }</code>
Diese add
-Funktion akzeptiert zwei Zahlen und eine Rückruffunktion als Parameter. Es berechnet die Summe von zwei Zahlen, ruft dann die Rückruffunktion auf und übergibt das Ergebnis an sie.
<code class="language-javascript">> add(2, 3, function (c) { console.log('2 + 3 = ' + c) }); > add(1, 1, function (c) { console.log('Is 1 + 1 = 3? ' + (c === 3)); });</code>
Asynchroner Operation Beispiel:
Verwenden Sie die Funktion setTimeout
, um asynchrone Operationen zu simulieren:
<code class="language-javascript">> function doSomething(asyncCallback) { setTimeout(asyncCallback, Math.random() * 1000 + 1000); } > doSomething(function () { console.log('This runs asynchronously.'); }); > console.log('test');</code>
Dieser Code demonstriert die nicht deterministische Ausführungsreihenfolge asynchroner Rückrufe.
Datei i/o:
node.js enthält das fs
-Modul für asynchrone Dateioperationen:
<code class="language-javascript">> 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); });</code>
Erstellen Sie einen Webserver:
node.js 'http
Modul kann zum Erstellen eines einfachen Webservers verwendet werden:
<code class="language-javascript">> var http = require('http'); > var server = http.createServer(function (request, response) { response.end('Hello Node.js'); }); > server.listen(8080);</code>
Zugriff localhost:8080
, um die vom Server zurückgegebenen Ergebnisse anzuzeigen.
asynchron/wartet:
ES2017 führt die async/await
-Syntax vor, die das Schreiben von asynchronem Code vereinfacht:
<code class="language-javascript">async function sum(a,b) { return a + b; }</code>Das Schlüsselwort
await
kann nur in der Funktion async
verwendet werden und wird verwendet, um auf die Auflösung des Versprechens zu warten.
Zusammenfassung:
node.js ist eine ideale Wahl für den Aufbau von Hochleistungsnetzwerkanwendungen mit seinen leichten, nicht blockierenden E/A und leistungsstarken asynchronen Programmierfunktionen. Die auf JavaScript-basierten Merkmale senken auch den Entwicklungsschwellenwert.
Das obige ist der detaillierte Inhalt vonEin Anfänger -Splurge in Node.js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!