node.js中的process.nextTick错误?

时间:2011-12-29 21:38:38

标签: node.js

enter image description here

我在node.js这个非常基本的例子中得到了process.nextTick错误。

有人可以搞清楚吗? 节点是否无法开始侦听端口8000?

# cat nodejs.js
net = require("net");
s = net.createServer();

net.on('connection', function (c) {
c.end('hello');
});

s.listen(8000);

# node nodejs.js

node.js:201
    throw e; // process.nextTick error, or 'error' event on first tick
          ^
TypeError: Object #<Object> has no method 'on'
at Object.<anonymous> (/home/ec2-user/praveen/nodejs.js:4:5)
at Module._compile (module.js:432:26)
at Object..js (module.js:450:10)
at Module.load (module.js:351:31)
at Function._load (module.js:310:12)
at Array.0 (module.js:470:10)
at EventEmitter._tickCallback (node.js:192:40)

3 个答案:

答案 0 :(得分:10)

这是Ryan幻灯片中的错字! :-0

s/net.on/s.on/

答案 1 :(得分:4)

您似乎正在尝试捕获库中的事件(net),但您应该查看the connectionListener argument to createServer。试试这个:

var net = require("net");

var server = net.createServer(function (c) {
  c.end('Hello!'); // Implicitly fired on 'connection'
});

server.listen(8000);

答案 2 :(得分:1)

对于其他任何可能偶然发现的人在寻找为什么节点在尝试发出brunch watch --server时发现此错误时,请检查并确保您没有使用相同端口运行任何其他服务器(即在另一个shell中) )。