ホームページ >ウェブフロントエンド >jsチュートリアル >node.jsの初心者の散財
node.js:非ブロッキングI/o
のための効率的なJavaScript実行環境この記事では、node.jsのコア機能を簡単に紹介し、コマンドラインを介してその重要な関数を実証します。 Node.jsはChromeのV8 JavaScriptエンジンに基づいており、非ブロッキングI/Oおよび非同期操作メカニズムにより、同時リクエストの処理に優れています。
node.jsの利点:
ノンブロッキングI/O:node.jsは、I/O操作によるプログラムの実行をブロックしないように設計されています。従来の同期プログラミングでは、I/O操作(ファイルの読み取り、ネットワークリクエストなど)は、操作が完了するまでプログラムの実行を一時停止します。 node.jsは、I/O操作が進行中である間、他のタスクを実行し続け、効率を大幅に改善しています。
Async操作:node.jsは、コールバック関数を広く使用して非同期操作を処理します。コールバック関数は、I/O操作が完了した後に実行され、同期操作によって引き起こされる詰まりを回避します。
v8 JavaScriptエンジン:node.jsは、効率的なV8 JavaScriptエンジンで実行され、そのパフォーマンスが確保されます。
コールバック:
コールバック関数は、node.js非同期プログラミングの基礎です。それらは関数のパラメーターとして渡され、非同期操作が完了した後に実行されます。簡単な例を次に示します:
<code class="language-javascript">> function add(a, b, callback) { var result = a + b; callback(result); }</code>
このadd
関数は、パラメーターとして2つの数値とコールバック関数を受け入れます。 2つの数値の合計を計算し、コールバック関数を呼び出して結果を渡します。
<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>
非同期操作の例:
setTimeout
関数を使用して、非同期操作をシミュレートします:
<code class="language-javascript">> function doSomething(asyncCallback) { setTimeout(asyncCallback, Math.random() * 1000 + 1000); } > doSomething(function () { console.log('This runs asynchronously.'); }); > console.log('test');</code>
このコードは、非同期コールバックの非決定的実行順序を示しています。
ファイルi/o:
node.jsは、非同期ファイル操作用のfs
モジュールを提供します:
<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>
Webサーバーの作成:
node.js 'http
モジュールを使用して、シンプルなWebサーバーを作成できます。
<code class="language-javascript">> var http = require('http'); > var server = http.createServer(function (request, response) { response.end('Hello Node.js'); }); > server.listen(8080);</code>アクセス
サーバーによって返された結果を確認します。 localhost:8080
async/await:
es2017は構文を導入します。これにより、非同期コードの書き込みが簡素化されます。
async/await
<code class="language-javascript">async function sum(a,b) { return a + b; }</code>キーワードは、
関数でのみ使用でき、約束の解決を待つために使用されます。 await
async
node.jsは、軽量の非ブロッキングI/Oおよび強力な非同期プログラミング機能を備えた高性能ネットワークアプリケーションを構築するのに理想的な選択肢です。 そのJavaScriptベースの機能は、開発のしきい値も低くなります。
以上がnode.jsの初心者の散財の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。