我是node.js的新手。 我正试图休息EventEmitter样本。
以下是我的示例代码。
var server = require('http'); //var emitter = require('events');
server.createServer(function (req, res) {
res.writeHead(200, {
'Content-Type': 'text/plain'
});
setTimeout(function () {
res.end('World\n');
}, 2000);
res.write('Hello ');
}).listen(3000, 'localhost');
console.log('Server(port : 3000) is started.');
server.on('connection', function (stream) {
console.log('Now server is connected.');
});
server.once('connection', function () {
console.log('The first connection.');
});
var callback = function (stream) {
console.log('connected...This is callback function.');
};
server.on('connection', callback);
server.removeListener('connection', callback);
我制作了这样的代码,因为我的书说我们可以通过'on'方法添加一个事件。但是,当我运行此代码时,它会在下面显示错误消息。
TypeError: Object #<Object> has no method 'on'
at Object.<anonymous> (/Users/juneyoungoh/Documents/eventEmiiter.js:16:8)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3
我不知道在哪里可以找到这种'on'方法。
感谢您分享我的问题
祝你有美好的一天! :d
答案 0 :(得分:1)
require('http');
返回http模块,而不是您的服务器;
修正:
var http = require('http');
var server = http.createServer( . . .
其余的工作完美。