Node.js では、イベントはリッスンして実行できるアクションです。イベントを通知システムとして想像してください。ファイルの読み取り完了やリクエストの受信など、何かが起こるたびに、Node.js は応答できるイベントをトリガーします。
Node.js には events という組み込みモジュールがあり、このモジュールの最も重要なクラスは EventEmitter です。これにより、イベントを定義して処理できます。
イベント エミッターを作成する方法を見てみましょう。
const EventEmitter = require('events'); const myEmitter = new EventEmitter(); // Register an event listener myEmitter.on('greet', () => { console.log('Hello there!'); }); // Emit the event myEmitter.emit('greet');
この例では、greet イベントのリスナーを登録し、イベントを発行しました。結果は単純な「こんにちは!」です。コンソールに出力されます。
イベントを発行するときに引数を渡すこともできます。これは、データを渡す必要がある場合に役立ちます。
myEmitter.on('sayHello', (name) => { console.log(`Hello, ${name}!`); }); myEmitter.emit('sayHello', 'Alice');
ここで、sayHello イベントを発行すると、Alice に挨拶します。
基本的な HTTP サーバーを作成し、イベントがどのように作用するかを示してみましょう。 Node.js では、http モジュールはイベントを広範囲に使用します。リクエストがサーバーに到達するたびに、イベントがトリガーされます。
const http = require('http'); // Create a server const server = http.createServer((req, res) => { if (req.url === '/') { res.write('Hello World'); res.end(); } }); // Register an event listener for 'request' server.on('request', (req, res) => { console.log(`Received request for ${req.url}`); }); // Start the server server.listen(3000, () => { console.log('Server is running on port 3000'); });
この例では:
サーバー コード内にカスタム イベントを作成して、特定のタスクを処理できます。以下は、クライアントの接続時にカスタム イベントを発行する例です。
const EventEmitter = require('events'); const http = require('http'); // Create an event emitter instance const myEmitter = new EventEmitter(); // Create a server const server = http.createServer((req, res) => { res.write('Hello Client'); res.end(); // Emit a custom event on each request myEmitter.emit('clientConnected', req.url); }); // Listen for the custom 'clientConnected' event myEmitter.on('clientConnected', (url) => { console.log(`A client connected to ${url}`); }); // Start the server server.listen(3000, () => { console.log('Server is running on port 3000'); });
この例では:
イベントは Node.js の中心であり、特にサーバーのコンテキストでの非同期操作の処理に強力です。イベントをマスターすることで、スケーラブルで効率的なアプリケーションを構築するための強力な基盤が得られます。
読んでいただきありがとうございます。コーディングを楽しんでください! ?
以上が簡単なコード例で Node.js のイベントを理解する - Node.js チュートリアル - パート 6の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。