2016-08-29 13 views
0

現在Nodejsを学習しています。私は教科書のコードの一部に混乱しています。呼び出されるemit()メソッドがありません

var http = require('http'); 
var querystring = require('querystring'); 
var server = http.createServer().listen(8124); 
server.on('request', function(request,response) { 
    if (request.method == 'POST') { 
     var body = ''; 
     // append data chunk to body 
     request.on('data', function (data) { 
      body += data; 
     }); 

     // data transmitted 
     request.on('end', function() { 
      var post = querystring.parse(body); 
      console.log(post); 
      response.writeHead(200, {'Content-Type': 'text/plain'}); 
      response.end('Hello World\n'); 
     }); 
    } 
}); 
console.log('server listening on 8214'); 

http.createServerは、EventEmitterから継承するhttp.Serverオブジェクトを返します。 EventEmitterにはonとemitメソッドが含まれていることを確認してください。この例では、onメソッドしか表示されず、emitメソッドを呼び出す場所が見つかりません。メソッド上でemitメソッドが呼び出されるか、イベントバインドがどのようにトリガされるか? emitメソッドは他のメソッドでカプセル化されていますか?

+1

なぜあなたは 'emit'メソッドを呼びたいのですか? – robertklep

+0

このコードの実際の問題は何ですか?サーバーオブジェクトを使用するには、 'emit'メソッドを呼び出す必要はありません。これは 'request'イベントを生成するために内部的に呼び出します。 – jfriend00

+0

@ jfriend00 emitメソッドの内部呼び出しに関する詳細やドキュメントを提供できますか?それはどこに呼ばれますか? – pipi

答えて

0

この場合、emit関数を呼び出す必要はありません。あなたは単に郵便配達員経由であなたのURLを打つことができます。

関連する問題